Ruby では、Enumerable module を include して、each を定義すれば、
Enumerable内の数十のメソッドが使えるようになる

また、Enumerable を継承した、より便利な、
Enumerator クラス(外部 iterator)を返すようにすると、
そのクラスに処理を丸投げ(委譲)できる