type direction = | Right| Left
val create : unit -> 'a tval exists : ('a -> bool) -> 'a t -> boolval iter : f:('a -> unit) -> 'a t -> unitval iter_node : f:('a node -> unit) -> 'a t -> unitval is_empty : 'a t -> boolval remove : 'a node -> unitval to_list : 'a t -> 'a list