Early terminating folds

- Adds early-terminating left and right folds.
- Renames `destructure` to `uncons`.
Early-terminating left folds return `Either` from their combining function.