sig
  val replace_dot_with_slash : Utils.UTF8.t -> Utils.UTF8.t
  val replace_slash_with_dot : Utils.UTF8.t -> Utils.UTF8.t
  val is_valid_unqualified : Utils.UTF8.t -> bool
  val is_valid_for_method : Utils.UTF8.t -> bool
  type error =
      Invalid_class_name of Utils.UTF8.t
    | Invalid_field_name of Utils.UTF8.t
    | Invalid_method_name of Utils.UTF8.t
    | Invalid_package_name of Utils.UTF8.t
    | Invalid_module_name of Utils.UTF8.t
  exception Exception of Name.error
  val string_of_error : Name.error -> string
  type for_class
  type for_field
  type for_method
  type for_package
  type for_module
  val split_class_name : Name.for_class -> Name.for_package * Name.for_class
  val make_for_class_from_internal : Utils.UTF8.t -> Name.for_class
  val make_for_class_from_external : Utils.UTF8.t -> Name.for_class
  val make_for_field : Utils.UTF8.t -> Name.for_field
  val make_for_method : Utils.UTF8.t -> Name.for_method
  val make_for_package_from_internal : Utils.UTF8.t -> Name.for_package
  val make_for_package_from_external : Utils.UTF8.t -> Name.for_package
  val make_for_module_from_internal : Utils.UTF8.t -> Name.for_module
  val make_for_module_from_external : Utils.UTF8.t -> Name.for_module
  val printable_utf8_for_class : Name.for_class -> Utils.UTF8.t
  val external_utf8_for_class : Name.for_class -> Utils.UTF8.t
  val internal_utf8_for_class : Name.for_class -> Utils.UTF8.t
  val utf8_for_field : Name.for_field -> Utils.UTF8.t
  val utf8_for_method : Name.for_method -> Utils.UTF8.t
  val external_utf8_for_package : Name.for_package -> Utils.UTF8.t
  val internal_utf8_for_package : Name.for_package -> Utils.UTF8.t
  val external_utf8_for_module : Name.for_module -> Utils.UTF8.t
  val internal_utf8_for_module : Name.for_module -> Utils.UTF8.t
  val equal_for_class : Name.for_class -> Name.for_class -> bool
  val equal_for_field : Name.for_field -> Name.for_field -> bool
  val equal_for_method : Name.for_method -> Name.for_method -> bool
  val equal_for_package : Name.for_package -> Name.for_package -> bool
  val equal_for_module : Name.for_module -> Name.for_module -> bool
  val compare_for_class : Name.for_class -> Name.for_class -> int
  val compare_for_field : Name.for_field -> Name.for_field -> int
  val compare_for_method : Name.for_method -> Name.for_method -> int
  val compare_for_package : Name.for_package -> Name.for_package -> int
  val compare_for_module : Name.for_module -> Name.for_module -> int
  val hash_for_class : Name.for_class -> int
  val hash_for_field : Name.for_field -> int
  val hash_for_method : Name.for_method -> int
  val hash_for_package : Name.for_package -> int
  val hash_for_module : Name.for_module -> int
end