public object reduce(IFn f, object start) { object ret = f.invoke(start, _array[_off]); for (int x = _off + 1; x < _end; x++) ret = f.invoke(ret, _array[x]); return ret; }