functor
  (T : Deriving_Typeable.Typeable) (E : sig
                                          type a = T.a
                                          val eq : a -> a -> bool
                                        end->
  sig
    val allocate :
      T.a -> (Deriving_Pickle.id -> unit m) -> Deriving_Pickle.id m
    val store_repr : Deriving_Pickle.id -> Deriving_Pickle.Repr.t -> unit m
  end