docs: function(func, scope, args)
  {
      var fixedArgs = Array.prototype.slice.call(arguments, 2);
      return function()
      {
          var args = fixedArgs.concat(Array.prototype.slice.call(arguments, 0));
          (/** @type {Function} */ func).apply(scope, args);
      };
  }