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 -> ( 'b, 'c, 'd ) action ) -> 'e list -> 'f list * 'g option * 'h list