Signed-off-by: Jim Pryor <profjim@jimpryor.net>
> We could improve this by building lists as left folds when implementing them
> as continuation-passing style folds. We'd just replace above:
>
-> let make_list = \h t. \f z continue_handler abort_handler.
-> f h z (\z. t f z continue_handler abort_handler) abort_handler
+> let make_list = \h t. \f z continue_handler abort_handler.
+> f h z (\z. t f z continue_handler abort_handler) abort_handler
>
> now `extract_head` should return the leftmost head directly, using its
> `abort_handler`: