 : compiler-message ( string -- )
     "trace-compilation" get [ [ print flush ] with-global ] [ drop ] if ;
 
-: start ( word -- )
+: start-compilation ( word -- )
     dup name>> compiler-message
     H{ } clone dependencies namespaces:set
     H{ } clone generic-dependencies namespaces:set

    ! failed to infer.
    '[
        _ {
            [ start ]
            [ frontend ]
            [ backend ]
            [ finish ]
        } cleave
    ] with-return ;


: deoptimize-with ( word def -- * )
    ! If the word failed to infer, compile it with the
    ! non-optimizing compiler.
    swap [ finish-compilation ] [ compiled get set-at ] bi return ;

: not-compiled-def ( word error -- def )
    '[ _ _ not-compiled ] [ ] like ;
