# Module Deriving_Pickle

    module Deriving_Pickle: sig .. end

    type id

    module Repr: sig .. end

    module Write: sig .. end

    module Read: sig .. end

    exception UnpicklingError of string

    exception UnknownTag of int * string

    module type Pickle = sig .. end

    module Defaults: functor (S : sig
    type a

    module Typeable: Typeable  with type a = a
    module Eq: Eq  with type a = a
    val pickle : a -> Deriving_Pickle.id Deriving_Pickle.Write.m
    val unpickle : Deriving_Pickle.id -> a Deriving_Pickle.Read.mend) -> Pickle  with type a = S.a

    module Pickle_unit: Pickle  with type a = unit

    module Pickle_bool: Pickle  with type a = bool

    module Pickle_int: Pickle  with type a = int

    module Pickle_char: Pickle  with type a = char

    module Pickle_float: Pickle  with type a = float

    module Pickle_string: Pickle  with type a = string

    module Pickle_int32: Pickle  with type a = int32

    module Pickle_int64: Pickle  with type a = int64

    module Pickle_nativeint: Pickle  with type a = nativeint

    module Pickle_option: functor (V0 : Pickle) -> Pickle  with type a = V0.a option

    module Pickle_list: functor (V0 : Pickle) -> Pickle  with type a = V0.a list

    module Pickle_ref: functor (S : Pickle) -> Pickle  with type a = S.a ref

    module Pickle_from_dump: functor (P : Deriving_Dump.Dump) -> functor (E : Eq  with type a = P.a) -> functor (T : Typeable  with type a = P.a) -> Pickle  with type a = P.a