type 'a t
=
val map : ('a -> 'b) -> 'a t -> 'b t
val map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
val combine : 'a t -> 'b t -> ('a * 'b) t
val split : ('a * 'b) t -> 'a t * 'b t
val fold : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
val fold_child : ('a -> 'b -> 'b -> 'a) -> 'a -> 'b t -> 'a
val filter_option : ('a -> 'b option) -> 'a t -> 'b t
val filter : ('a -> bool) -> 'a t -> 'a t
val root_map : ('a option -> 'a -> 'b) -> 'a t -> 'b t
val map_children : ('a -> 'a list -> 'b) -> 'a t -> 'b t
val draw : ('a -> Mlpost.Box.t) -> 'a t -> Mlpost__.Types.commandpic
val gen_draw_arrows : 'a -> style:('b -> 'b -> 'a) -> corner:([> `North | `South ] -> 'c -> 'b) -> 'c t -> 'a t
val wrap_whs_box : ('a -> Mlpost.Box.t) -> ('a -> Mlpost.Box.t -> 'b) -> (width:('a -> Mlpost.Num.t) -> height:('a -> Mlpost.Num.t) -> set_pos:(Mlpost__.Point_lib.t -> 'a -> 'b) -> 'c) -> 'c
val wrap_corner_box : ('a -> Mlpost.Box.t) -> (corner:([< `Bot | `Bottom | `Bottomleft | `Bottomright | `Center | `Custom of Mlpost.Box.t -> Mlpost__.Point_lib.t | `East | `Left | `Lowerleft | `Lowerright | `Lowleft | `Lowright | `North | `Northeast | `Northwest | `Right | `South | `Southeast | `Southwest | `Top | `Topleft | `Topright | `Upleft | `Upperleft | `Upperright | `Upright | `West ] -> 'a -> Mlpost__.Point_lib.t) -> 'b) -> 'b