val to_string : t -> stringval validate : t -> 'a list -> (unit, string) resultval validate' : int -> t -> 'a list -> (int, string) resultval collect : t -> int listval collect' : int list -> t -> int listval realign' : (int * int) list -> t -> tval alternate :
empty:'d ->
text:(string -> 'd option) ->
atom:(El.atom -> 'd) ->
join:('d list -> 'd) ->
fuse:('d -> 'd -> 'd) ->
other:(El.exp -> 'd) ->
t ->
('a -> 'd) ->
'a list ->
'd