PrintableSome things are not quite lattices ...
type json = Yojson.Safe.tmodule type S = sig ... endmodule Std : sig ... endmodule Blank : sig ... endmodule type Showable = sig ... endmodule PrintSimple (P : Showable) : sig ... endmodule type Name = sig ... endmodule Unit : sig ... endmodule type LiftingNames = sig ... endmodule DefaultNames : sig ... endmodule HashCached (M : S) : sig ... endmodule Lift (Base : S) (N : LiftingNames) : sig ... endmodule type ProdConfiguration = sig ... endmodule ProdSimple (Base1 : S) (Base2 : S) : sig ... endmodule type ChainParams = sig ... endmodule Chain (P : ChainParams) : S with type t = intmodule Strings : sig ... end