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