public Object visitStmtLoop(StmtLoop stmt) {
   Type oldType = type;
   type = TypePrimitive.inttype;
   Expression newIter = doExpression(stmt.getIter());
   type = oldType;
   Statement newBody = (Statement) stmt.getBody().accept(this);
   if (newIter == stmt.getIter() && newBody == stmt.getBody()) return stmt;
   return new StmtLoop(stmt, newIter, newBody);
 }