Brassaia_eio_pack_io.Pack_valuemodule Brassaia_pack = Brassaia_eio_pack.Brassaia_packinclude module type of struct include Brassaia_pack.Pack_value endmodule Kind = Brassaia_pack.Pack_value.Kindtype nonrec weight = Brassaia_eio_pack.Pack_value_intf.weight = type nonrec kinded = Brassaia_eio_pack.Pack_value_intf.kinded = ..kinded is an extenisble variant that each S extends so that it can define S.to_kinded and S.of_kinded. Its purpose is to allow containers, such as Brassaia_pack_unix.Lru, to store and return all types of S and thus be usable by modules defined over S, such as Brassaia_pack_unix.Pack_store.
module type S = Brassaia_pack.Pack_value.Smodule type Config = Brassaia_pack.Pack_value.Configmodule Of_contents = Brassaia_pack.Pack_value.Of_contentsmodule Of_commit = Brassaia_pack.Pack_value.Of_commitmodule type Persistent = sig ... end