module type A
= sig val id
: string end module type B
= sig val id
: string end
module GetId (A : A) = struct let res = A.id end
module B : B = struct let id = "test" end
module Test = GetId (B)
bW9kdWxlIHR5cGUgQSA9IHNpZyB2YWwgaWQgOiBzdHJpbmcgZW5kCm1vZHVsZSB0eXBlIEIgPSBzaWcgdmFsIGlkIDogc3RyaW5nIGVuZAoKbW9kdWxlIEdldElkIChBIDogQSkgPSBzdHJ1Y3QgbGV0IHJlcyA9IEEuaWQgZW5kCgptb2R1bGUgQiA6IEIgPSBzdHJ1Y3QgbGV0IGlkID0gInRlc3QiIGVuZAoKbW9kdWxlIFRlc3QgPSBHZXRJZCAoQikK