anchor.diff:    {Test, State1} = pop_ast(ast(TestExpr, State)),
     TrueAtom       = {atom, Anno, true},
     {ThenAst, State2} = pop_ast(ast(ThenExpr, State1)),
  -  TrueClause     = {clause, Anno, [TrueAtom], [], [ThenAst]},
  +  SplicedThenAst    = splice_body(ThenAst),
  +  TrueClause     = {clause, Anno, [TrueAtom], [], SplicedThenAst},
   
     FalseAtom      = {atom, Anno, false},
     {ElseAst, State3} = pop_ast(ast(ElseExpr, State2)),
  -  FalseClause    = {clause, Anno, [FalseAtom], [], [ElseAst]},
  +  SplicedElseAst    = splice_body(ElseAst),
  +  FalseClause    = {clause, Anno, [FalseAtom], [], SplicedElseAst},
   
     TestBoolean    = call_mfa(clj_core, boolean, [Test], Anno),
     Ast = {'case', Anno, TestBoolean, [TrueClause, FalseClause]},
  
positive.code:             _         -> [Finally]
            end,
  
    TryAst    = {'try', Anno, [Body], [], Catches, After},
  
    %% We need to wrap everything in a fun to create a new variable scope.
    ClauseAst = {clause, Anno, [], [], [TryAst]},
  
negative.code:                   AnnoPattern = anno_from(EnvPattern),
                    {Pattern, StateAcc1} = pop_ast(ast(PatternExpr, StateAcc)),
                    {Body, StateAcc2}    = pop_ast(ast(BodyExpr, StateAcc1)),
                    SplicedBody          = splice_body(Body),
                    ClauseAst = {clause, AnnoPattern, [Pattern], [], SplicedBody},
                    push_ast(ClauseAst, StateAcc2)
                end,
  
  