module type ZN = sig ... end
Type for a module representing the ℤ/nℤ ring
module type INT = sig ... end
Type of a module wrapping an integer.
module MakeZn (N : INT) (B : sig ... end) : ZN
Functor to build the ℤ/nℤ ring given n