Module Doctree.Take

type ('a, 'b, 'c) action =
| Rec of 'a list
| Skip
| Accum of 'b list
| Stop_and_keep
| Stop_and_accum of 'b list * 'c option
val until : classify:( 'a -> ( 'a, 'b, 'c ) action ) -> 'a list -> 'b list * 'c option * 'a list