/**
 * Recursive flatten function. Fastest implementation for array flattening.
 *
 * @param  {Array}  array
 * @param  {Array}  result
 * @param  {Number} depth
 * @return {Array}
 */
var flatten = function (array, result, depth) {
  for (var i = 0; i < array.length; i++) {
    if (depth > 0 && Array.isArray(array[i])) {
      flatten(array[i], result, depth - 1);
    } else {
      result.push(array[i]);
    }
  }

  return result;
};

/**
 * Flatten an array, with the ability to define a depth.
 *
 * @param  {Array}  array
 * @param  {Number} depth
 * @return {Array}
 */
module.exports = function (array, depth) {
  if (depth < 1) {
    return Array.prototype.slice.call(array);
  }

  return flatten(array, [], depth || Infinity);
};

@@ -182,29 +182,23 @@
  */%0A
-var flatten = functio
+function flatte
 n (a
@@ -426,17 +426,16 @@
 esult;%0A%7D
-;
 %0A%0A/**%0A *

Use function definition