Extend While/For loops to support Visitor pattern