Module Out_type.Ident_names

Disambiguation for identifiers, e.g. the two type constructors named t in the type of f in

type t = A
module M = struct
  type t = B
 let f A = B
end

should be disambiguated to t/2->t

val enable : bool -> unit

When contextual names are enabled, the mapping between identifiers and names is ensured to be one-to-one.

val with_fuzzy : Ident.t -> (unit -> 'a) -> 'a

with_fuzzy id f locally disable ident disambiguation for id within f