Parameter Make.1-T
val map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
val fold : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
non-recursive folding of subterms
val fold2 : ('a -> 'b -> 'c -> 'a) -> 'a -> 'b t -> 'c t -> 'a
val compare : unit t -> unit t -> int
comparison of constructors
val terminal : 'a t -> bool
for each constructor, is it not-parametric on 'a?
val choose : ('a -> 'b) -> 'a t -> 'b
choose f w
applies f on ONE of the subterms of w