Pythonのjoinがキモいとか言ってると、多重ディスパッチ派の人がやってきますよ
この辺を読んだ感想。
joinがArrayのメソッドであるべきか、Stringのメソッドであるべきかを議論していると、多重ディスパッチ派の人が嬉々としてやってきますよ。
で、「これだから単一ディスパッチのオブジェクト指向はダメなんだ。joinはArrayとStringのコンビネーションで定義するべきメソッドだ」とか言って、こんなコードを書くと思います。
(define-method join ((x <string>) (xs <list>)) (string-join (map x->string xs) x))