anchor.diff:  and transformStatement (env: Environment) (statement: Statement) : J.Statement =
       let inline trE x = transformExpr env x
       let inline trS x = transformStatement env x
  +    let sequential s effect =
  +        match List.rev s with
  +        | h :: t -> effect h :: List.map ExprStatement t |> List.rev          
  +        | [] -> []
       let flatten s =
           let res = ResizeArray()
           let mutable emptyDecls = ResizeArray()
  
positive.code:                     decls.Add (defineId env id, trE e)
              | Empty 
              | ExprStatement IgnoreSourcePos.Undefined -> ()
              | _ -> 
                  flushVars()
                  res.Add(trS a)
  
negative.code:         J.StatementPos (trS s, jpos)
      | If(a, b, c) -> J.If(trE a, trS b, trS c)
      | Return (IgnoreSourcePos.Unary(UnaryOperator.``void``, a)) -> J.Ignore(trE a)
      | Return (IgnoreSourcePos.Sequential s) -> J.Block (sequential s Return |> List.map trS)
      | Return IgnoreSourcePos.Undefined -> J.Return None
      | Return a -> J.Return (Some (trE a))
      | VarDeclaration (id, e) ->
  