たとえばPythonでは__next__属性と__iter__属性を持つオブジェクトはイテレーターとされるけど、構造的型付けの一種とみて良いんじゃない? iteratorプロトコルと称されるけど、iteratorという名前をコード上に書くわけではない。
名前的型システム+継承によるサブタイピング多相だけで全てを賄おうとすると継承ツリーが巨大になって管理困難になるということで、いろいろなアプローチが試みられているところだと思うけど。