 quotations.private prettyprint classes.tuple.private classes
 classes.tuple namespaces
 compiler.tree.propagation.info stack-checker.errors
+compiler.tree.checker
 kernel.private ;
 
 \ escape-analysis must-infer

: bleach-node ( quot: ( node -- ) -- )
    [ bleach-node ] curry [ ] compose impeach-node ; inline recursive

[ 2 ] [ [ [ ] bleach-node ] count-unboxed-allocations ] unit-test

[ 0 ] [
    [ dup -1 over >= [ 0 >= [ "A" throw ] unless ] [ drop ] if ]

    propagate
    cleanup
    escape-analysis
    dup check-nodes
    0 swap [ count-unboxed-allocations* ] each-node ;

[ 0 ] [ [ [ + ] curry ] count-unboxed-allocations ] unit-test
