type 'a digit = | Zero| One of 'a| Two of 'a * 'a| Three of 'a * 'a * 'a
val is_empty : 'a t -> boolval _double : 'a -> 'a -> 'a tval _three : 'a -> 'a -> 'a -> 'a tval cons : 'a. 'a -> 'a t -> 'a tval take_front_exn : 'a. 'a t -> 'a * 'a tval take_front : 'a t -> ('a * 'a t) optionval add_seq_front : (('a -> unit) -> 'b) -> 'a t -> 'a tval of_seq : (('a -> unit) -> 'b) -> 'a t