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