docs: function reduce(arr, fn, accu) {
      if (typeof arr === 'object' && !Array.isArray(arr)) {
          for (var key in arr) {
              accu = fn(accu, arr[key], key);
          }
      } else {
          for(var i = 0; i < arr.length; i++) {
              accu = fn(accu, arr[i]);
          }
      }
      return accu;
  }