static casting, uses iterator return val