TypedAST src = assignment.getValue();
if(!(dst instanceof CoreAST) || !(src instanceof CoreAST))
throw new RuntimeException();
CoreAST cDst = (CoreAST) dst;
CoreAST cSrc = (CoreAST) src;
TLFromAST dstVisitor = new TLFromAST();
cDst.accept(dstVisitor);
TLFromAST srcVisitor = new TLFromAST();
cSrc.accept(srcVisitor);
this.statements.addAll(dstVisitor.getStatements());
this.statements.addAll(srcVisitor.getStatements());
this.statements.add(new Assign(dstVisitor.getExpr(), srcVisitor.getExpr()));
}