sig
  val optimize_statement :
    Logical_algebra_types.logical_compile_context ->
    Logical_algebra_types.logical_algop_expr ->
    Logical_algebra_types.logical_algop_expr
  val optimize_prolog :
    Logical_algebra_types.logical_compile_context ->
    Logical_algebra_types.logical_algop_prolog ->
    Logical_algebra_types.logical_compile_context *
    Logical_algebra_types.logical_algop_prolog
  val optimize_library_module :
    Logical_algebra_types.logical_compile_context ->
    Logical_algebra_types.logical_algop_xmodule ->
    Logical_algebra_types.logical_compile_context *
    Logical_algebra_types.logical_algop_xmodule
  val optimize_main_module :
    Logical_algebra_types.logical_compile_context ->
    Logical_algebra_types.logical_algop_xmodule ->
    Logical_algebra_types.logical_compile_context *
    Logical_algebra_types.logical_algop_xmodule
end