Reducers

Reducers over nonrecursive left folds. Pretty happy with this.
This is the key change in this PR, underlying the high-level public API like `concat`, `map`, `filter`, etc.