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

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

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

: compiler-message ( string -- )
    "trace-compilation" get [ [ print flush ] with-global ] [ drop ] if ;

: start-compilation ( word -- )
    dup name>> compiler-message
    H{ } clone dependencies namespaces:set
    H{ } clone generic-dependencies namespaces:set
