Pythonのjoinがキモいとか言ってると、多重ディスパッチ派の人がやってきますよ

この辺を読んだ感想。

joinがArrayのメソッドであるべきか、Stringのメソッドであるべきかを議論していると、多重ディスパッチ派の人が嬉々としてやってきますよ。
で、「これだから単一ディスパッチのオブジェクト指向はダメなんだ。joinはArrayとStringのコンビネーションで定義するべきメソッドだ」とか言って、こんなコードを書くと思います。

(define-method join ((x <string>) (xs <list>))
  (string-join (map x->string xs)
	       x))

念のため

ボクは多重ディスパッチ派閥じゃないですよ。
ボクの考えでは、これはオブジェクト指向でうまく扱えないたぐいの問題で、多重ディスパッチなんて仕組みを導入してまでオブジェクト指向の枠で扱うべきじゃない。そんな無理をせずに、素直にクラスに属さない関数として定義するか、キモいのを我慢してどちらかのクラスに属させるべきだと思います。