sig
  val match_overloaded_function_signature :
    Typing_context.static_context ->
    Xquery_common_ast.cfname ->
    Xquery_type_core_ast.cxtype list ->
    Xquery_core_ast.overloaded_signature_table ->
    Xquery_common_ast.cfname * Xquery_type_core_ast.cxtype list *
    Xquery_type_core_ast.cxtype * Xquery_common_ast.updating_modifier
  val compute_type_overloaded_function_call :
    Typing_context.static_context ->
    Xquery_common_ast.cfname ->
    Xquery_type_core_ast.cxtype list ->
    Xquery_core_ast.overloaded_signature_table -> Xquery_type_core_ast.cxtype
  val compute_type_normal_function_call :
    Typing_context.static_context ->
    Xquery_common_ast.cfname ->
    Xquery_type_core_ast.cxtype list ->
    (Xquery_core_ast.csequencetype * Xquery_type_core_ast.cxtype) option list *
    (Xquery_core_ast.csequencetype * Xquery_type_core_ast.cxtype) ->
    Xquery_type_core_ast.cxtype
end