code: function ensureEvaluated(module, seen, loader) {
        if (module.evaluated || !module.dependencies)
          return;
  
        seen.push(module);
  
        var deps = module.dependencies;
        var err;
  
        for (var i = 0, l = deps.length; i < l; i++) {
          var dep = deps[i];
          if (indexOf.call(seen, dep) == -1) {
            err = ensureEvaluated(dep, seen, loader);
            // stop on error, see https://bugs.ecmascript.org/show_bug.cgi?id=2996
            if (err)
              return err + '\n  in module ' + dep.name;
          }
        }
  
        if (module.failed)
          return new Error('Module failed execution.');
  
        if (module.evaluated)
          return;
  
        module.evaluated = true;
        err = doExecute(module);
        if (err)
          module.failed = true;
        
        // spec variation
        // we don't create a new module here because it was created and ammended
        // we just disable further extensions instead
        if (Object.preventExtensions)
          Object.preventExtensions(module.module);
  
        module.execute = undefined;
        return err;
      }
docs: 15.2.6.2 EnsureEvaluated adjusted