# Module Deriving_Show

    module Deriving_Show: sig .. end

    module type Show = sig .. end

    module Defaults: functor (S : sig

    type a

    val format : Format.formatter -> a -> unit

    end) -> Show  with type a = S.a

    module Show_unprintable: functor (S : sig

    type a

    end) -> Show  with type a = S.a

    module Show_char: Show  with type a = char

    module Show_bool: Show  with type a = bool

    module Show_unit: Show  with type a = unit

    module Show_int: Show  with type a = int

    module Show_int32: Show  with type a = int32

    module Show_int64: Show  with type a = int64

    module Show_nativeint: Show  with type a = nativeint

    module Show_float: Show  with type a = float

    module Show_string: Show  with type a = string

    module Show_list: functor (S : Show) -> Show  with type a = S.a list

    module Show_ref: functor (S : Show) -> Show  with type a = S.a ref

    module Show_option: functor (S : Show) -> Show  with type a = S.a option

    module Show_array: functor (S : Show) -> Show  with type a = S.a array

    module Show_map: functor (O : Map.OrderedType) -> functor (K : Show  with type a = O.t) -> functor (V : Show) -> Show  with type a = V.a Map.Make(O).t

    module Show_set: functor (O : Set.OrderedType) -> functor (K : Show  with type a = O.t) -> Show  with type a = Set.Make(O).t