functor
(K : Key) (D : sig
type key = K.t
type data
val name : string
val compile : key -> data
end) ->
sig
type key = D.key
type data = D.data
val get : key -> data
val mem : key -> bool
val clear : unit -> unit
val remove : key -> unit
end