おれも lisp は好きだけど、たとえば for-each の戻り値は未定義だし、 self を返すのは上手くないと思うな。
実際問題として、「each が self を返すこと」によるメリットを感じたことがない。