docs: function require(id) {
      if (global.ErrorUtils && !global.ErrorUtils.inGuard()) {
        return ErrorUtils.applyWithGuard(require, this, arguments);
      }
  
      var module = modulesMap[id],
          dep, i, msg;
  
      if (!modulesMap[id]) {
        msg = 'Requiring unknown module "' + id + '"';
        if (__DEV__) {
          msg += '. It may not be loaded yet. Did you forget to run arc build?';
        }
        throw new Error(msg);
      }
  
      if (module.hasError) {
        throw new Error(
          'Requiring module "' + id + '" which threw an exception');
      }
  
      if (module.waiting) {
        msg = 'Requiring module "' + id + '" with unresolved dependencies';
        if (__DEV__) {
          var unresolved = _findUnresolvedDependencies([id]);
          if (global.console) {
            global.console.error(_formatUnresolvedDependencies(unresolved));
          }
          var undefinedModules = [];
          for (var ii = 0; ii < unresolved.length; ii++) {
            var dependency = unresolved[ii];
            if (!modulesMap[dependency]) {
              undefinedModules.push(dependency);
            }
          }
          msg += ': ' + undefinedModules.join(', ');
        }
        throw new Error(msg);
      }
  
      if (!module.exports) {
        var exports = module.exports = {};
        var factory = module.factory;
  
        if (toString.call(factory) === '[object Function]') {
  
          var args = [],
              dependencies = module.dependencies,
              length = dependencies.length,
              ret;
          if (module.special & USED_AS_TRANSPORT) {
            length = Math.min(length, factory.length);
          }
          try {
            for (i = 0; i < length; i++) {
              dep = dependencies[i];
              args.push(dep  === 'module'  ? module  :
                        (dep === 'exports' ? exports : require(dep)));
            }
            ret = factory.apply(module.context || global, args);
          } catch (e) {
            module.hasError = true;
            throw e;
          }
          if (ret) {
            if (__DEV__) {
              if (typeof ret != 'object' && typeof ret != 'function') {
                throw new Error(
                  'Factory for module "' + id + '" returned ' +
                  'an invalid value "' + ret + '". ' +
                  'Returned value should be either a function or an object.');
              }
            }
            module.exports = ret;
          }
        } else {
          module.exports = factory;
        }
      }
  
      // If ref count is 1, this was the last call, so undefine the module.
      // The ref count can be null or undefined, but those are never === 1.
      if (module.refcount-- === 1) {
        delete modulesMap[id];
      }
  
      return module.exports;
    }