>>681
> Collectionは要素の集合の抽象化であり、Iteratorは操作の抽象化です。
> print()に渡すものは「要素の集合」でしょうか「操作」でしょうか?

Collectionが「要素の集合を抽象化したもの」は OKなんだけど、
Iteratorが「操作を抽象化したもの」ってのは違うんじゃないかなと思います。

実際に、646では

>イテレータとは「コレクション(要素の集合を抽象化したもの)」を
>操作する手続きを抽象化したものと定義したいな。

とありますし、GoF本の Iterator パターンの「構成要素」(P277)には

>Iterator クラス
>- 要素にアクセスしたり操作したりするためのインターフェースを
>定義する。

とあります。