define(['./flatten', './_overRest', './_setToString'], function(flatten, overRest, setToString) { /** Used as a safe reference for `undefined` in pre-ES5 environments. */ var undefined; /** * A specialized version of `baseRest` which flattens the rest array. * * @private * @param {Function} func The function to apply a rest parameter to. * @returns {Function} Returns the new function. */ function flatRest(func) { return setToString(overRest(func, undefined, flatten), func + ''); } return flatRest; });