module Make : functor (K : Set.OrderedType) ->
sig
type key = K.t
type 'a t
val empty : 'a t
val add : key list -> 'a -> 'a t -> 'a t
val mem : key list -> 'a t -> bool
val find : key list -> 'a t -> 'a
val longest : key Stream_lzw.t -> 'a t -> (key list * key Stream_lzw.t) option
val fold : (key list -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
end