Names.NameName is the signature for names that could possibly be internal. Internal names occur when we generate items that don't have a path that will be exposed in the generated HTML, for example, when we are doing generalised opens. The compiler makes sure these new types are removed from the signature, so they should never be externally visible, and an attempt to turn an internal name into a string will result in an exception being thrown.
Note that it is tricky currently to remove references to internal names, and hence the 'safe' to_string will not currently raise an exception. When the model is updated to handle this the exception will be reinstated.
val to_string : t -> stringval to_string_unsafe : t -> stringto_string_unsafe will allow even internal names to be turned into strings. Use with caution.
val make_std : string -> tval internal_of_string : string -> tval is_internal : t -> boolval fmt : Format.formatter -> t -> unitHidden names are those that contain a double underscore, e.g. Hidden__module