#結局immutable-mapにしました。わかりやすさ優先。
#実装は、comparatorを保持するために今は木自体とは別にアンカーオブジェクトを持ってますが、これが良いのかどうか思案中。insert/deleteでアンカーオブジェクトが必ずアロケートされるのが無駄なような、でもノードの方にcomparatorまで持たせると(1)パターンマッチで綺麗に書けてるところがごちゃごちゃする(2)empty nodeを単に#fでなくアロケートしなくちゃならなくなる(しかもcomparatorごとに異なるのでsingletonにできない。)というのがあって迷い中。性能で大きく差が出るならやってもいいけどってところ。
#empty nodeにcomparatorを持つ必要があるのはtree自体がemptyの時だけだから、その時だけ特別扱いするって手はあるか。(T B #f #f #f)とか。