File "pr4791.ml", line 1: Warning 63 [erroneous-printed-signature]: The printed interface differs from the inferred interface. The inferred interface contained items which could not be printed properly due to name collisions between identifiers. File "pr4791.ml", line 11, characters 2-12: Definition of type t File "pr4791.ml", line 8, characters 0-10: Definition of type t/2 Beware that this warning is purely informational and will not catch all instances of erroneous printed interface. type t = A module B : sig type t = B val f : t/2 -> t end