code: 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);
      };
  }
docs: Returns a function which calls the specified function in the specified
  scope.
  
  @param {Function} func
  The function to call.
  @param {Object} scope
  The scope to call the function in.
  @param {...*} args
  Additional arguments to pass to the bound function.
  @returns {function(...[*]): undefined}
  The bound function.