index.js
function mergeTypes(env, types, conf, ENV, fn) {
  fetch(conf, 'types', function(err, layout) {
    if (err) return fn(err);
    debug('# TYPES');

    var batch = new Batch();

    batch.concurrency(1);

    types.forEach(function(type) {
      batch.push(function(cb) {
        debug(type);
        mergeConf(env, layout, type, ENV, cb);
      });
    });

    batch.end(fn);
  });
}
function mergeTypes(env, types, conf, ENV, fn) {
  fetch(conf, 'types', function(err, layout) {
    if (err) return fn(err);
    debug('# TYPES');

    var batch = new Batch();

    batch.concurrency(1);

    types.forEach(function(type) {
      batch.push(function(cb) {
        debug(type);
        mergeConf(env, layout, type, ENV, cb);
      });
    });

    batch.end(fn);
  });
}
function mergeTypes ( env , types , conf , ENV , fn ) { fetch ( conf , 'types' , function ( err , layout ) { if ( err ) return fn ( err ) ; debug ( '# TYPES' ) ; var batch = new Batch ( ) ; batch . concurrency ( 1 ) ; types . forEach ( function ( type ) { batch . push ( function ( cb ) { debug ( type ) ; mergeConf ( env , layout , type , ENV , cb ) ; } ) ; } ) ; batch . end ( fn ) ; } ) ; }
Merge types into ENV

@param {String} env
@param {Array} types
@param {Object} conf
@param {Object} ENV
@param {Function} fn
Merge types into ENV