docs: function filter(array, callback, thisArg) {
      var result;
  
      if (callback == 'successful') {
        // callback to exclude those that are errored, unrun, or have hz of Infinity
        callback = function(bench) { return bench.cycles && isFinite(bench.hz); };
      }
      else if (callback == 'fastest' || callback == 'slowest') {
        // get successful, sort by period + margin of error, and filter fastest/slowest
        result = filter(array, 'successful').sort(function(a, b) {
          a = a.stats; b = b.stats;
          return (a.mean + a.moe > b.mean + b.moe ? 1 : -1) * (callback == 'fastest' ? 1 : -1);
        });
        result = filter(result, function(bench) {
          return result[0].compare(bench) == 0;
        });
      }
      return result || reduce(array, function(result, value, index) {
        return callback.call(thisArg, value, index, array) ? (result.push(value), result) : result;
      }, []);
    }