sig
  type norm_context
  and norm_interface_table =
      (Namespace_names.prefix * string,
       string list option * Norm_context.norm_context *
       Xquery_core_ast.acinterface)
      Hashtbl.t
  type function_signature =
      (Xquery_common_ast.cfname * int) *
      (Xquery_common_ast.cfname * Xquery_core_ast.cfunction_signature *
       Xquery_core_ast.acfunction_body_kind *
       Xquery_common_ast.updating_modifier)
  val default_norm_context :
    Processing_context.processing_context -> Norm_context.norm_context
  val build_norm_context :
    Processing_context.processing_context ->
    Namespace_context.nsenv ->
    Xquery_type_core_ast.cxschema ->
    Norm_context.function_signature list -> Norm_context.norm_context
  val merge_imported_norm_context :
    Norm_context.norm_context -> Norm_context.norm_context -> unit
  val replace_namespace_env_in_norm_context :
    Namespace_context.nsenv ->
    Norm_context.norm_context -> Norm_context.norm_context
  val copy_norm_context :
    Norm_context.norm_context -> Norm_context.norm_context
  val copy_norm_context_with_sigs :
    Norm_context.norm_context ->
    Namespace_context.nsenv ->
    Xquery_type_core_ast.cxschema -> Norm_context.norm_context
  val add_ns_bindings_to_norm_context :
    Norm_context.norm_context ->
    Namespace_context.binding_table ->
    Norm_context.norm_context * Namespace_context.nsenv
  val add_sigs_to_norm_context :
    Norm_context.norm_context ->
    Norm_context.function_signature list -> Norm_context.norm_context
  val add_sig_to_norm_context_in_place :
    Norm_context.norm_context -> Norm_context.function_signature -> unit
  val get_in_scope_nsenv :
    Norm_context.norm_context -> Namespace_context.nsenv
  val processing_context_from_norm_context :
    Norm_context.norm_context -> Processing_context.processing_context
  val module_context_from_norm_context :
    Norm_context.norm_context -> Processing_context.module_processing_context
  val nsenv_from_norm_context :
    Norm_context.norm_context -> Namespace_context.nsenv
  val cxschema_from_norm_context :
    Norm_context.norm_context -> Xquery_type_core_ast.cxschema
  val interface_table_from_norm_context :
    Norm_context.norm_context -> Norm_context.norm_interface_table
  val one_sig_from_norm_context :
    Norm_context.norm_context ->
    Xquery_common_ast.cfname * int ->
    Xquery_core_ast.cfunction_signature *
    Xquery_core_ast.acfunction_body_kind *
    Xquery_common_ast.updating_modifier
  val all_sigs_from_norm_context :
    Norm_context.norm_context ->
    Xquery_common_ast.cfname * int ->
    (Xquery_common_ast.cfname * Xquery_core_ast.cfunction_signature *
     Xquery_core_ast.acfunction_body_kind *
     Xquery_common_ast.updating_modifier)
    list
  val register_var :
    Norm_context.norm_context ->
    Xquery_common_ast.cvname -> Norm_context.norm_context
  val register_global_var :
    Norm_context.norm_context ->
    Xquery_common_ast.cvname ->
    Xquery_core_ast.acvar_body -> Norm_context.norm_context
  val check_var :
    Norm_context.norm_context ->
    Finfo.finfo ->
    Xquery_common_ast.cvname -> Xquery_core_ast.acvar_body option
  val gen_new_cvar :
    Norm_context.norm_context ->
    Xquery_ast.expr_handle ->
    Finfo.finfo -> Xquery_common_ast.cvname * Xquery_core_ast.acexpr
  val gen_new_cvar_typed :
    Norm_context.norm_context ->
    Xquery_core_ast_annotation.ast_annot ->
    Xquery_ast.expr_handle ->
    Finfo.finfo -> Xquery_common_ast.cvname * Xquery_core_ast.acexpr
  val set_in_execute_expr : Norm_context.norm_context -> bool -> unit
  val get_in_execute_expr : Norm_context.norm_context -> bool
  val set_interface_table :
    Norm_context.norm_context -> Norm_context.norm_interface_table -> unit
  val set_top_var_decl :
    Norm_context.norm_context -> Namespace_names.rqname -> unit
  val set_top_fun_decl :
    Norm_context.norm_context -> Namespace_names.rqname -> unit
  val unset_top_decl : Norm_context.norm_context -> unit
  val add_var_dependency :
    Norm_context.norm_context -> Namespace_names.rqname -> unit
  val add_fun_dependency :
    Norm_context.norm_context -> Namespace_names.rqname -> unit
  val check_cycles : Norm_context.norm_context -> unit
  val dump_norm_context : Norm_context.norm_context -> unit
end