3 type t = V of int | A of t * t | L of t | B
4 val print : ?l:string list -> t -> string
5 val lift : int -> t -> t
6 val mwhd : (('a * t * ('b list as 'c) as 'b) list as 'a) * t * 'c -> t
8 val diverged : t -> bool
13 val mk_n : int -> Pure.t
15 val mk_match : Pure.t -> (int * Pure.t) list -> Pure.t