sig
  type actual_letter =
      AtomicTypeLetter of int
    | ElementTypeLetter of int
    | AttributeTypeLetter of int
    | DocumentTypeLetter of int
    | PITypeLetter of int
    | TextTypeLetter
    | CommentTypeLetter
  val compare_letters :
    Subtyping_letter.actual_letter -> Subtyping_letter.actual_letter -> int
  val print_letter : Subtyping_letter.actual_letter -> unit
  type alphabets
  val get_names_from_cxtype :
    Xquery_type_core_ast.cxschema ->
    Xquery_type_core_ast.cxtype -> Subtyping_letter.alphabets
  val get_names_from_cxtypes :
    Xquery_type_core_ast.cxschema ->
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Subtyping_letter.alphabets
  val expand_wildcards :
    Xquery_type_core_ast.cxtype ->
    Subtyping_letter.alphabets -> Xquery_type_core_ast.cxtype
  val letter_of_atomic :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast.cxschema -> Namespace_symbols.rtype_symbol -> int
  val letter_of_element :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast.cxschema ->
    Namespace_symbols.relem_symbol * Namespace_symbols.rtype_symbol option *
    Xquery_common_ast.nillable -> int
  val letter_of_attribute :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast.cxschema ->
    Namespace_symbols.relem_symbol * Namespace_symbols.rtype_symbol option ->
    int
end