module AmbiguousConstructor; module M; type T1 := A : T1; end; module N; type T2 := A : T2; end; open M; open N; f : T1 -> T2; f A := N.A; end;