sig
  type statement_rule_sets =
      Typing_context.static_context
      Ast_walker_rewrite_context.rewrite_rule_set *
      Typing_context.static_context
      Ast_walker_rewrite_context.rewrite_rule_set
  type module_rule_sets =
      Typing_context.static_context
      Ast_walker_rewrite_context.rewrite_rule_set *
      Typing_context.static_context
      Ast_walker_rewrite_context.rewrite_prolog_rule_set *
      Typing_context.static_context
      Ast_walker_rewrite_context.rewrite_rule_set
  val rewriting_cstatement :
    Rewriting_top.statement_rule_sets ->
    Typing_context.static_context ->
    Xquery_core_ast.acstatement -> Xquery_core_ast.acstatement
  val rewriting_cprolog :
    Rewriting_top.module_rule_sets ->
    Typing_context.static_context ->
    Xquery_core_ast.acprolog ->
    Typing_context.static_context * Xquery_core_ast.acprolog
  val rewriting_cxmodule :
    Rewriting_top.module_rule_sets ->
    Typing_context.static_context ->
    Xquery_core_ast.acxmodule ->
    Typing_context.static_context * Xquery_core_ast.acxmodule
end