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

        [ [ combinator? ] [ unknown-macro-input? ] bi* and ]
    } 2|| ;

: finish ( word -- )
    ! Recompile callers if the word's stack effect changed, then
    ! save the word's dependencies so that if they change, the
    ! word can get recompiled too.

: 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 ;
