いろいろ

テスト直しました。
他、パフォーマンスとはあんま関係ないけどごにょごにょと。

ちなみに最後のコミット(f0969a6)、lift してるだけですけどこれだけで 30% くらいパフォーマンス違います(※もともと lift してあったのを 5d9083f で外したんですが遅くなったという話です)。何でかなーと思ったけどつまりこれ、
`instance MonadRandom m => MonadRandom (MaybeT m)`
が定義されているので lift しなくても動くんですけど、getRandom する度に暗黙の lift が走るのでそこでパフォーマンスに影響が出るってことなんだろうと思っています(憶測)。MaybeT 上でコアの部分が動くか、RandT の上でコアの部分が動くかってことですね。

え、てことは、getRandom が遅いのって、まさか…？

というか、transformer 積むと bind が重くなるとか、そういう話のような気も…。