'use strict'; var callable = require('../../object/valid-callable') , aFrom = require('../../array/from') , defineLength = require('../_define-length') , apply = Function.prototype.apply; module.exports = function (/*…args*/) { var fn = callable(this) , args = aFrom(arguments); return defineLength(function () { return apply.call(fn, this, args.concat(aFrom(arguments))); }, fn.length - args.length); };