Module Sig.Convert_to_monadic
This will help to the transition in a top-down manner, starting from the translation and top-level domain to the lower-level domain.
The idea is to support both interfaces, and use conversion to simplify the support for both. I can have a signature for both domains, and an "AddMonadic" functor to support both domains.
Parameters
Signature
module Conversion : sig ... endmodule Types : sig ... endmodule Boolean_Forward : sig ... endmodule Binary_Forward : sig ... endmodule Enum_Forward : sig ... end