Module Odoc_model.Names

module type Name = sig ... end

Name 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.

module type SimpleName = sig ... end

Some named objects can't have internal names, so they have this simpler module.

module ModuleName : Name
module ParameterName : Name
module ModuleTypeName : Name
module TypeName : Name
module ConstructorName : SimpleName
module FieldName : SimpleName
module ExtensionName : SimpleName
module ExceptionName : SimpleName
module ValueName : SimpleName
module ClassName : Name
module ClassTypeName : Name
module MethodName : SimpleName
module InstanceVariableName : SimpleName
module LabelName : SimpleName
module PageName : SimpleName