sig
  val mksequencetype :
    Xquery_ast.sequencetype_desc -> Xquery_ast.sequencetype
  val fmksequencetype :
    Xquery_ast.sequencetype_desc -> Finfo.finfo -> Xquery_ast.sequencetype
  val mkpattern : Xquery_ast.pattern_desc -> Xquery_ast.pattern
  val fmkpattern :
    Xquery_ast.pattern_desc -> Finfo.finfo -> Xquery_ast.pattern
  val mkexpr : Xquery_ast.expr_desc -> Xquery_ast.expr
  val fmkexpr : Xquery_ast.expr_desc -> Finfo.finfo -> Xquery_ast.expr
  val mkstep_qualifier :
    Xquery_ast.step_qualifier_desc -> Xquery_ast.step_qualifier
  val fmkstep_qualifier :
    Xquery_ast.step_qualifier_desc ->
    Finfo.finfo -> Xquery_ast.step_qualifier
  val mkfl_expr : Xquery_ast.fl_expr_desc -> Xquery_ast.fl_expr
  val fmkfl_expr :
    Xquery_ast.fl_expr_desc -> Finfo.finfo -> Xquery_ast.fl_expr
  val mkcopyvar_expr :
    Xquery_ast.copyvar_expr_desc -> Xquery_ast.copyvar_expr
  val fmkcopyvar_expr :
    Xquery_ast.copyvar_expr_desc -> Finfo.finfo -> Xquery_ast.copyvar_expr
  val mkfunction_def :
    Xquery_ast.function_def_desc -> Xquery_ast.function_def
  val fmkfunction_def :
    Xquery_ast.function_def_desc -> Finfo.finfo -> Xquery_ast.function_def
  val mkvar_decl : Xquery_ast.var_decl_desc -> Xquery_ast.var_decl
  val fmkvar_decl :
    Xquery_ast.var_decl_desc -> Finfo.finfo -> Xquery_ast.var_decl
  val mkserver_decl : Xquery_ast.server_decl_desc -> Xquery_ast.server_decl
  val fmkserver_decl :
    Xquery_ast.server_decl_desc -> Finfo.finfo -> Xquery_ast.server_decl
  val mkindex_def : Xquery_ast.index_def_desc -> Xquery_ast.index_def
  val fmkindex_def :
    Xquery_ast.index_def_desc -> Finfo.finfo -> Xquery_ast.index_def
  val mkcontext_decl :
    Xquery_ast.context_decl_desc -> Xquery_ast.context_decl
  val fmkcontext_decl :
    Xquery_ast.context_decl_desc -> Finfo.finfo -> Xquery_ast.context_decl
  val mkblock_decl_expr :
    Xquery_ast.block_decl_desc -> Xquery_ast.block_decl_expr
  val fmkblock_decl_expr :
    Xquery_ast.block_decl_desc -> Finfo.finfo -> Xquery_ast.block_decl_expr
  val get_ns_attributes :
    Xquery_ast.expr list ->
    (Namespace_names.prefix * Namespace_names.uri) list *
    Xquery_ast.expr list
  val empty_prolog : unit -> Xquery_ast.prolog
  val empty_interface :
    Namespace_names.ncname -> string -> Xquery_ast.interface
  val empty_library_module :
    Namespace_names.ncname -> string -> Xquery_ast.library_module
  val merge_library_module_in_prolog :
    Namespace_names.uri ->
    Xquery_ast.prolog -> Xquery_ast.library_module -> Xquery_ast.prolog
  val merge_library_modules :
    Xquery_ast.library_module ->
    Xquery_ast.library_module -> Xquery_ast.library_module
  val merge_prologs_with_decls :
    Xquery_ast.context_decl list ->
    Xquery_ast.prolog -> Xquery_ast.prolog -> Xquery_ast.prolog
  val merge_interfaces :
    Xquery_ast.interface -> Xquery_ast.interface -> Xquery_ast.interface
  val split_main_module :
    Xquery_ast.main_module -> Xquery_ast.prolog * Xquery_ast.statement list
  val remove_boundary_whitespace_from_children :
    Xquery_ast.expr list -> Xquery_ast.expr list
  val get_functions :
    Xquery_ast.funcvar_def list -> Xquery_ast.function_def list
  val get_vars : Xquery_ast.funcvar_def list -> Xquery_ast.var_decl list
end