:- module ml_backend.ml_elim_nested.
:- interface.
:- use_module ml_backend.mlds.
:- type action
    --->    hoist_nested_funcs 
    ;       chain_gc_stack_frames .
:- inst chain for (ml_backend.ml_elim_nested).action/0
    --->    chain_gc_stack_frames.
:- inst hoist for (ml_backend.ml_elim_nested).action/0
    --->    hoist_nested_funcs.
:- pred ml_elim_nested(ml_backend.mlds.mlds_target_lang, ml_backend.ml_elim_nested.action, ml_backend.mlds.mlds, ml_backend.mlds.mlds).
:- mode ml_elim_nested(builtin.in, builtin.in, builtin.in, builtin.out) is det.
:- pragma input_spec(ml_backend.ml_elim_nested.action, add_to_in_mode,
    [ml_backend.ml_elim_nested.chain, ml_backend.ml_elim_nested.hoist]).
