Early terminating folds

- Adds early-terminating left and right folds.
- Renames `destructure` to `uncons`.
Early terminating right folds take `Memo` in their combining function.