anchor.diff:    {FExpr, Env4} = clj_env:pop_expr(Env3),
   
     InvokeExpr = #{op => invoke,
  -                 env => #{}, %% Env4
  +                 env => ?DEBUG(Env4),
                    form => Form,
                    f => FExpr,
                    args => ArgsExpr},
  
positive.code:   {ItemsExpr, Env2} = clj_env:last_exprs(Env1, Count),
  
    VectorExpr = #{op => vector,
                   env => #{},
                   form => Vector,
                   items => ItemsExpr},
    clj_env:push_expr(Env2, VectorExpr).
  
negative.code: -spec analyze(clj_env:env(), any()) -> clj_env:env().
  analyze(Env, undefined) ->
    Expr = #{op => constant,
             env => ?DEBUG(Env),
             tag => nil,
             form => undefined},
    clj_env:push_expr(Env, Expr);
  analyze(Env, Boolean) when is_boolean(Boolean) ->
    Expr = #{op => constant,
             env => ?DEBUG(Env),
             tag => boolean,
             form => Boolean},
    clj_env:push_expr(Env, Expr);
  analyze(Env, String) when is_binary(String) ->
    Expr = #{op => constant,
             env => ?DEBUG(Env),
             tag => string,
             form => String},
    clj_env:push_expr(Env, Expr);
  analyze(Env, Number) when is_number(Number) ->
    Expr = #{op => constant,
             env => ?DEBUG(Env),
             tag => number,
             form => Number},
    clj_env:push_expr(Env, Expr);
  