Module Versioned_typed_tcp.Datumable_of_binable

module Datumable_of_binable: sig .. end
Helpers to make your types Datumable if they are binable. Works with up to 5 versions (easily extensible to more)

module type T = sig .. end
module type T_bin = sig .. end
module V (V : T)  (T : T) : sig .. end
module Make_datumable5 (Versions : Versioned_typed_tcp.Versions)  (T : T)  (V1 : T_bin)  (V2 : T_bin)  (V3 : T_bin)  (V4 : T_bin)  (V5 : T_bin)  (V1_cvt : V(V1)(T).S)  (V2_cvt : V(V2)(T).S)  (V3_cvt : V(V3)(T).S)  (V4_cvt : V(V4)(T).S)  (V5_cvt : V(V5)(T).S) : sig .. end
module type Pre_versions = sig .. end
module Five_versions (Versions : Pre_versions)  (T : T)  (V1 : T_bin)  (V2 : T_bin)  (V3 : T_bin)  (V4 : T_bin)  (V5 : T_bin)  (V1_cvt : V(V1)(T).S)  (V2_cvt : V(V2)(T).S)  (V3_cvt : V(V3)(T).S)  (V4_cvt : V(V4)(T).S)  (V5_cvt : V(V5)(T).S) : Make_datumable5(sig
include Versions
val test_version : Versioned_typed_tcp.Version.t
end)(T)(V1)(V2)(V3)(V4)(V5)(V1_cvt)(V2_cvt)(V3_cvt)(V4_cvt)(V5_cvt)
module Four_versions (Versions : Pre_versions)  (T : T)  (V1 : T_bin)  (V2 : T_bin)  (V3 : T_bin)  (V4 : T_bin)  (V1_cvt : V(V1)(T).S)  (V2_cvt : V(V2)(T).S)  (V3_cvt : V(V3)(T).S)  (V4_cvt : V(V4)(T).S) : Make_datumable5(sig
include Versions
val test_version : Versioned_typed_tcp.Version.t
end)(T)(V1)(V2)(V3)(V4)(V4)(V1_cvt)(V2_cvt)(V3_cvt)(V4_cvt)(V4_cvt)
module Three_versions (Versions : Pre_versions)  (T : T)  (V1 : T_bin)  (V2 : T_bin)  (V3 : T_bin)  (V1_cvt : V(V1)(T).S)  (V2_cvt : V(V2)(T).S)  (V3_cvt : V(V3)(T).S) : Make_datumable5(sig
include Versions
val test_version : Versioned_typed_tcp.Version.t
end)(T)(V1)(V2)(V3)(V3)(V3)(V1_cvt)(V2_cvt)(V3_cvt)(V3_cvt)(V3_cvt)
module Two_versions (Versions : Pre_versions)  (T : T)  (V1 : T_bin)  (V2 : T_bin)  (V1_cvt : V(V1)(T).S)  (V2_cvt : V(V2)(T).S) : Make_datumable5(sig
include Versions
val test_version : Versioned_typed_tcp.Version.t
end)(T)(V1)(V2)(V2)(V2)(V2)(V1_cvt)(V2_cvt)(V2_cvt)(V2_cvt)(V2_cvt)
module One_version (Versions : Pre_versions)  (T : T)  (V1 : T_bin)  (V1_cvt : V(V1)(T).S) : Make_datumable5(sig
include Versions
val test_version : Versioned_typed_tcp.Version.t
end)(T)(V1)(V1)(V1)(V1)(V1)(V1_cvt)(V1_cvt)(V1_cvt)(V1_cvt)(V1_cvt)