sig
  val factor_sequencetype :
    Xquery_core_ast.csequencetype ->
    Xquery_core_ast.citemtype * Occurrence.occurs * Occurrence.occurs
  val factor_asequencetype :
    Xquery_algebra_ast.asequencetype ->
    Xquery_algebra_ast.aitemtype * Occurrence.occurs * Occurrence.occurs
  val is_itemstar_sequencetype : Xquery_core_ast.csequencetype -> bool
  val is_just_a_complex_type : Xquery_type_core_ast.cxtype -> bool
  val least_common_promoted_type :
    Xquery_type_core_ast.cxschema ->
    Xquery_type_core_ast.cxtype list -> Xquery_type_core_ast.cxtype
  val can_be_promoted_to_judge :
    Xquery_type_core_ast.cxschema ->
    Xquery_type_core_ast.cxtype ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype option
  val data_on_judge :
    Xquery_type_core_ast.cxschema ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val validate_element_resolves_to :
    Xquery_type_core_ast.cxschema ->
    Xquery_common_ast.validation_mode ->
    Xquery_type_core_ast.cxtype -> Xquery_type_core_ast.cxtype
  val expand_overloaded_arguments :
    Xquery_type_core_ast.cxschema ->
    Xquery_type_core_ast.cxtype list ->
    Xquery_type_core_ast.cxtype list list * Occurrence.occurs *
    Occurrence.occurs
  val expand_first_overloaded_argument :
    Xquery_type_core_ast.cxschema ->
    Xquery_type_core_ast.cxtype list ->
    Xquery_type_core_ast.cxtype list * Xquery_type_core_ast.cxtype option *
    Occurrence.occurs * Occurrence.occurs
end