Module Deriving_Enum

module Deriving_Enum: sig .. end

module type Enum = sig .. end
module Defaults: 
functor (E : sig
type a 
val numbering : (a * int) list
end-> Enum  with type a = E.a
module Defaults': 
functor (E : sig
type a 
val from_enum : a -> int
val to_enum : int -> a
end-> 
functor (B : Deriving_Bounded.Bounded with type a = E.a-> Enum with type a = B.a
module Enum_bool: Enum  with type a = bool
module Enum_char: Enum  with type a = char
module Enum_int: Enum  with type a = int
module Enum_unit: Enum  with type a = unit