module Any (P : sig ... end) : sig ... endmodule Boolean (P : sig ... end) : sig ... endmodule False (P : sig ... end) : sig ... endmodule True (P : sig ... end) : sig ... endmodule Integer (P : sig ... end) : sig ... endmodule Zero (P : sig ... end) : sig ... endmodule Float (P : sig ... end) : sig ... endmodule String (P : sig ... end) : sig ... end