module Optimization_util: sig .. end
val replace_tuple_field_name : Namespace_names.rqname ->
       Namespace_names.rqname ->
       bool ->
       Logical_algebra_types.logical_algop_expr ->
       Logical_algebra_types.logical_algop_expr * bool
val replace_tuple_name : Logical_algebra_types.logical_compile_context ->
       Namespace_names.rqname ->
       Namespace_names.rqname ->
       Logical_algebra_types.logical_algop_expr ->
       Logical_algebra_types.logical_algop_expr * bool
val is_update : Logical_algebra_types.logical_algop_expr -> bool
val contain_updates : Logical_algebra_types.logical_algop_expr -> bool
val count_tuple_field_access : Logical_algebra_types.logical_algop_expr ->
       (Xquery_common_ast.crname * int) list
val wrap_sep_sequence : ('a, 'b) Compile_context.compile_context ->
       Logical_algebra_types.logical_algop_expr ->
       Xquery_common_ast.crname * Logical_algebra_types.logical_algop_expr
val wrap_map_index_name : Xquery_common_ast.crname ->
       Logical_algebra_types.logical_algop_expr ->
       Logical_algebra_types.logical_algop_expr
val wrap_map_index : ('a, 'b) Compile_context.compile_context ->
       Logical_algebra_types.logical_algop_expr ->
       Xquery_common_ast.crname * Logical_algebra_types.logical_algop_expr
val wrap_map_null_named : Xquery_common_ast.crname ->
       Logical_algebra_types.logical_algop_expr ->
       Logical_algebra_types.logical_algop_expr
val wrap_map_null : ('a, 'b) Compile_context.compile_context ->
       Logical_algebra_types.logical_algop_expr ->
       Xquery_common_ast.crname * Logical_algebra_types.logical_algop_expr
val generic_snap_free_wrapper : (Logical_algebra_types.logical_compile_context ->
        Logical_algebra_types.logical_algop_expr ->
        Logical_algebra_types.logical_algop_expr * bool) ->
       bool Pervasives.ref ->
       Logical_algebra_types.logical_compile_context ->
       Logical_algebra_types.logical_algop_expr ->
       ((unit, Alg_path_struct.path_annotation) Xquery_algebra_ast.aalgop_expr *
        Optimization_walker.sub_expr_kind * int)
       option ->
       Logical_algebra_types.logical_algop_expr ->
       Logical_algebra_types.logical_algop_expr