`sig
module type Enum =
sig
type a
val succ : Deriving_Enum.Enum.a -> Deriving_Enum.Enum.a
val pred : Deriving_Enum.Enum.a -> Deriving_Enum.Enum.a
val to_enum : int -> Deriving_Enum.Enum.a
val from_enum : Deriving_Enum.Enum.a -> int
val enum_from : Deriving_Enum.Enum.a -> Deriving_Enum.Enum.a list
val enum_from_then :
Deriving_Enum.Enum.a ->
Deriving_Enum.Enum.a -> Deriving_Enum.Enum.a list
val enum_from_to :
Deriving_Enum.Enum.a ->
Deriving_Enum.Enum.a -> Deriving_Enum.Enum.a list
val enum_from_then_to :
Deriving_Enum.Enum.a ->
Deriving_Enum.Enum.a ->
Deriving_Enum.Enum.a -> Deriving_Enum.Enum.a list
end
module Defaults :
functor
(E : sig
type a
val numbering : (Deriving_Enum.Defaults.a * int) list
end) ->
sig
type a = E.a
val succ : a -> a
val pred : a -> a
val to_enum : int -> a
val from_enum : a -> int
val enum_from : a -> a list
val enum_from_then : a -> a -> a list
val enum_from_to : a -> a -> a list
val enum_from_then_to : a -> a -> a -> a list
end
module Defaults' :
functor
(E : sig
type a
val from_enum : Deriving_Enum.Defaults'.a -> int
val to_enum : int -> Deriving_Enum.Defaults'.a
end) ->
functor
(B : sig type a = E.a val min_bound : a val max_bound : a end) ->
sig
type a = B.a
val succ : a -> a
val pred : a -> a
val to_enum : int -> a
val from_enum : a -> int
val enum_from : a -> a list
val enum_from_then : a -> a -> a list
val enum_from_to : a -> a -> a list
val enum_from_then_to : a -> a -> a -> a list
end
module Enum_bool :
sig
type a = bool
val succ : a -> a
val pred : a -> a
val to_enum : int -> a
val from_enum : a -> int
val enum_from : a -> a list
val enum_from_then : a -> a -> a list
val enum_from_to : a -> a -> a list
val enum_from_then_to : a -> a -> a -> a list
end
module Enum_char :
sig
type a = char
val succ : a -> a
val pred : a -> a
val to_enum : int -> a
val from_enum : a -> int
val enum_from : a -> a list
val enum_from_then : a -> a -> a list
val enum_from_to : a -> a -> a list
val enum_from_then_to : a -> a -> a -> a list
end
module Enum_int :
sig
type a = int
val succ : a -> a
val pred : a -> a
val to_enum : int -> a
val from_enum : a -> int
val enum_from : a -> a list
val enum_from_then : a -> a -> a list
val enum_from_to : a -> a -> a list
val enum_from_then_to : a -> a -> a -> a list
end
module Enum_unit :
sig
type a = unit
val succ : a -> a
val pred : a -> a
val to_enum : int -> a
val from_enum : a -> int
val enum_from : a -> a list
val enum_from_then : a -> a -> a list
val enum_from_to : a -> a -> a list
val enum_from_then_to : a -> a -> a -> a list
end
end`