functor (V0 : Pickle->
  sig
    type a = V0.a list
    module Typeable :
      sig
        type a = a
        val type_rep : Deriving_Typeable.TypeRep.t Lazy.t
        val has_type : Deriving_Typeable.dynamic -> bool
        val cast : Deriving_Typeable.dynamic -> a option
        val throwing_cast : Deriving_Typeable.dynamic -> a
        val make_dynamic : a -> Deriving_Typeable.dynamic
        val mk : a -> Deriving_Typeable.dynamic
      end
    module Eq : sig type a = a val eq : a -> a -> bool end
    val pickle : a -> id Write.m
    val unpickle : id -> a Read.m
    val to_buffer : Buffer.t -> a -> unit
    val to_string : a -> string
    val to_channel : out_channel -> a -> unit
    val from_stream : char Stream.t -> a
    val from_string : string -> a
    val from_channel : in_channel -> a
  end