ややこしい話になってるけど
>>632 に書いてあるパタンマッチの方法でも、そんなに遅くないんじゃないの?