Tue Oct 18 18:11:08 EDT 2016

folds with abort

Aborting a fold should be done from the foldee.
Only structucre-changing functions need to support the protocol: primitives and composites.
E.g. map & filter do not.

I don't see a good way to support this using an extension of the
current code.  This needs separate routines, as the typs are clearly

It's tricky.  To implement append, it's necessary to know if an
iteration has aborted.  Can't tell from return value.

EDIT: it's possible to wrap a fold.