sig
  val cleanup_rules :
    ((bool Pervasives.ref ->
      Logical_algebra_types.logical_compile_context ->
      Logical_algebra_types.logical_algop_expr ->
      (Logical_algebra_types.logical_algop_expr *
       Optimization_walker.sub_expr_kind * int)
      option ->
      Logical_algebra_types.logical_algop_expr ->
      Logical_algebra_types.logical_algop_expr) *
     string)
    list
end