docs: function amdefineWorkaround(requiredModule)
  {
    // prepare define function
    var define = amdefine(requiredModule, this.pretendRequire(requiredModule));
  
    // return wrapper
    function wrapper(id, deps, initializer)
    {
      // init module
      define(id, deps, initializer);
  
      // if module provides id
      // force it to be executed anyway
      if (typeof id == 'string')
      {
        requiredModule.exports = define.require(id);
      }
    }
  
    // make it look like legit thing
    if (this.exposeAmdefine)
    {
      wrapper.amd     = define.amd;
      wrapper.require = define.require;
    }
  
    return wrapper;
  }