code: function upgrades(val, cb) {  // {{{3
      var trans = that.transaction();
  
      iter(val, function(err) {
        if (err) return cb(err);
  
        return trans.commit(cb);
      });
  
      function iter(val, cb) {
        switch (typeof (val || undefined)) {
        case 'undefined':
          return cb();
        case 'string':
          return iter(require(val), cb);
        case 'function':
          return val(trans, cb);
        case 'object':
          if (Array.isArray(val)) {
            return O.async.eachSeries(val, iter, cb);
          }
          // NO BREAK
        default:
          return cb(O.error(that, 'INVALID_CONFIG', '"upgrades"', val));
        }
      }
    }
docs: /* TODO second phase of home entries initialization, when shard is at home and peers are connected
  deps.add('finish', 'connect', function(cb) {  // {{{3
  This method will be called after all peers with `url` are connected
  
  if (that.isAtHome()) {
  for (var key in that.cache) {
  var e = that.cache[key];
  e.kind.doHomeInit(e);
  }
  }
  
  return cb();
  });
  
  deps.add({after: 'finish'}, function(cb) {  // {{{3
  This method will be called after all shards and spaces has lhs defined
  
  cb();
  });