sig
  type atomic_letter_mapping =
      int Pervasives.ref * int Namespace_symbols_util.SQNameHashtbl.t
  type cename_letter_mapping =
      int Pervasives.ref *
      (Namespace_symbols.rtype_symbol option * Xquery_common_ast.nillable *
       int)
      Namespace_symbols_util.SQNameHashtbl.t
  type caname_letter_mapping =
      int Pervasives.ref *
      (Namespace_symbols.rtype_symbol option * int)
      Namespace_symbols_util.SQNameHashtbl.t
  type piname_letter_mapping =
      int Pervasives.ref * (string option, int) Hashtbl.t
  type letter_mappings =
      Xquery_type_core_ast_annotation.atomic_letter_mapping *
      Xquery_type_core_ast_annotation.cename_letter_mapping *
      Xquery_type_core_ast_annotation.caname_letter_mapping *
      Xquery_type_core_ast_annotation.piname_letter_mapping
  val type_letter_map :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast_annotation.atomic_letter_mapping
  val elem_letter_map :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast_annotation.cename_letter_mapping
  val attr_letter_map :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast_annotation.caname_letter_mapping
  val pi_letter_map :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast_annotation.piname_letter_mapping
  val create_letter_mappings :
    unit -> Xquery_type_core_ast_annotation.letter_mappings
  val copy_letter_mappings :
    Xquery_type_core_ast_annotation.letter_mappings ->
    Xquery_type_core_ast_annotation.letter_mappings
end