Add assertion for iterator types
Overloads for next