functor (E : Entries->
  sig
    module E :
      sig
        type key = E.key
        type data = E.data
        val name : string
        val compare : key -> key -> int
        val pretty : Format.formatter -> key -> unit
      end
    type key = E.key
    type data = E.data
    val mem : key -> bool
    val find : key -> data
    val get : key -> data option
    val clear : unit -> unit
    val remove : key -> unit
    val define : key -> data -> unit
    val update : key -> data -> unit
    val memoize : (key -> data) -> key -> data
    val compile : (key -> data) -> key -> unit
    val callback : (key -> data -> unit) -> unit
    val iter : (key -> data -> unit) -> unit
    val iter_sorted : (key -> data -> unit) -> unit
  end