generic interleaved iteraors work as expected