type 'a sequence
= ('a ‑> unit) ‑> unit
type 'a ktree
= unit ‑> [ `Nil | `Node of 'a * 'a ktree list ]
Words are made of characters, who belong to a total order
module type WORD : sig ... end
module type S : sig ... end
module Make : functor (W : WORD) -> S with type key = W.t and type char_ = W.char_
module type ORDERED : sig ... end
module MakeArray : functor (X : ORDERED) -> S with type key = X.t array and type char_ = X.t
module MakeList : functor (X : ORDERED) -> S with type key = X.t list and type char_ = X.t
module String : S with type key = string and type char_ = char