/* fn.cm - function utilities */ var _apply = Function.prototype.apply var _isArray = Array.isArray var fn = {} fn.apply = function(func, args) { if (typeof func != 'function') return func if (!_isArray(args)) { args = [args] } if (args.length > func.length) { throw new Error("fn.apply: too many arguments") } return _apply.call(func, null, args) } return fn