anchor.diff:                , tag     => type_tag(PatternExpr)
                 },
   
  -  LocalExprs = clj_env:get(pattern_locals, [], Env2),
  -  Env3       = clj_env:put_locals(lists:reverse(LocalExprs), Env2),
  -  clj_env:push_expr(BindExpr, Env3).
  +  LocalExprs = clj_env:get(pattern_locals, [], Env4),
  +  Env5       = clj_env:put_locals(lists:reverse(LocalExprs), Env4),
  +  clj_env:push_expr(BindExpr, Env5).
   
   -spec validate_bindings('clojerl.List':type(), clj_env:env()) -> ok.
   validate_bindings(Form, Env) ->
  
positive.code:              , clj_env:location(Env0)
               ),
  
    Expr0 = #{ op         => local
             , env        => Env0
             , form       => Symbol
             , tag        => ?NO_TAG
             , name       => Symbol
             , shadow     => clj_env:get_local(Symbol, Env0)
             , underscore => is_underscore(Symbol)
             , id         => erlang:unique_integer()
             },
  
negative.code:                    false -> 'let'
                   end,
  
    {InitExpr, Env1}    = clj_env:pop_expr(analyze_form(Init, Env0)),
    Env2                = clj_env:push(#{is_binding_context => true}, Env1),
    {PatternExpr, Env3} = clj_env:pop_expr(parse_pattern(Pattern, Env2)),
    Env4                = clj_env:pop(Env3),
  
    BindExpr = #{ op      => binding
                , env     => Env0
  