functor (T : Deriving_Typeable.Typeable) ->
  functor (E : sig type a = T.a val eq : a -> a -> bool end) ->
    sig
      type a = T.a
      val eq : Deriving_Typeable.dynamic -> Deriving_Typeable.dynamic -> bool
    end