anchor.diff:  
   -spec timed_compile(binary(), options(), clj_env:env()) -> clj_env:env().
   timed_compile(Src, Opts, Env) when is_binary(Src) ->
  -  clj_utils:time("Finished compiling", fun compile/3, [Src, Opts, Env]).
  +  clj_utils:time("Total", fun compile/3, [Src, Opts, Env]).
   
   -spec compile(binary(), options(), clj_env:env()) -> clj_env:env().
   compile(Src, Opts, Env) when is_binary(Src) ->
  
positive.code: 
  -spec compile_forms_fun(options()) -> function().
  compile_forms_fun(Opts) ->
    fun(Forms) -> compile_forms(Forms, Opts) end.
  
  -spec compile_forms([erl_parse:abstract_form()], options()) ->
    atom() | undefined.
  
negative.code:   Opts     = maps:merge(default_options(), Opts0),
    CljFlags = maps:get(clj_flags, Opts),
    RdrOpts  = maps:get(reader_opts, Opts),
    Env      = clj_env:put(Env0, clj_flags, CljFlags),
    EmitEval = case Opts0 of
                 #{time := true} ->
                   fun() ->
                       clj_utils:time( "Read, Analyze & Emit"
                                     , fun clj_reader:read_fold/4
                                     , [ fun emit_eval_form/2
                                       , Src
                                       , RdrOpts
                                       , Env
                                       ]
                                     )
                   end;
                 _ ->
                   fun () ->
                       clj_reader:read_fold( fun emit_eval_form/2
                                           , Src
                                           , RdrOpts
                                           , Env
                                           )
                   end
               end,
  
    CompileFun =
      fun() ->
          try
            Env1 = EmitEval(),
            {_, Env2} = clj_emitter:remove_state(Env1),
  
            %% Compile all modules
  