sig
  val cxtype_empty : Xquery_type_core_ast.cxtype
  val cxtype_none : Xquery_type_core_ast.cxtype
  val factor_with_units :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype list * Occurrence.occurs * Occurrence.occurs
  val factor :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype * Occurrence.occurs * Occurrence.occurs
  val defactor :
    Xquery_type_core_ast.cxtype * Occurrence.occurs * Occurrence.occurs ->
    Xquery_type_core_ast.cxtype
  val is_xs_anytype : Namespace_symbols.rtype_symbol -> bool
  val is_simple_cxtype : Xquery_type_core_ast.cxtype -> bool
  val is_really_empty_cxtype : Xquery_type_core_ast.cxtype -> bool
  val make_sequence_cxtypes :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_builtin_sequence_cxtypes :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_interleave_cxtypes :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_builtin_interleave_cxtypes :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_choice_cxtypes :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_builtin_choice_cxtypes :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_atomic_type :
    Xquery_type_core_ast.cxschema ->
    Namespace_symbols_util.SQNameHashtbl.key -> Xquery_type_core_ast.cxtype
  val make_builtin_atomic_type :
    Namespace_symbols.rtype_symbol -> Xquery_type_core_ast.cxtype
  val make_optional_type :
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_builtin_optional_type :
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_zeroormore_type :
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_builtin_zeroormore_type :
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_oneormore_type :
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_builtin_oneormore_type :
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val make_builtin_opt_attribute_ref :
    Namespace_symbols.rattr_symbol -> Xquery_type_core_ast.cxtype
  val mixed_content : Xquery_type_core_ast.cxtype
  val text_content : Xquery_type_core_ast.cxtype
  val separate_attributes_from_content :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype * Xquery_type_core_ast.cxtype
  val is_built_in_atomic_type :
    Xquery_type_core_ast.cxschema -> Namespace_symbols.rtype_symbol -> bool
  val list_of_choice :
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype list
  val choice_of_list :
    Xquery_type_core_ast.cxtype list -> Xquery_type_core_ast.cxtype
  type simple_kind =
      AtomicKind of Namespace_symbols.rtype_symbol
    | UnionKind of Namespace_symbols.rtype_symbol list
    | ListKind of Namespace_symbols.rtype_symbol list
  type complex_kind = Xquery_type_core_ast.cxtype
  type content_kind =
      ComplexKind of Schema_util.complex_kind
    | SimpleKind of Schema_util.simple_kind
  val extends_attribute_content :
    Xquery_type_core_ast.cattribute_content ->
    Xquery_type_core_ast.cattribute_content ->
    Xquery_type_core_ast.cattribute_content
  val extends_element_content :
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
end