@m_seki の

I like ruby tooから引っ越し

TupleBagの不公平なindex

TupleSpaceはタプルをArrayで管理しています。さすがに全てのタプルを一つのArrayにしまうのは気が引けたので、従来は要素数ごとに分類してからArrayに入れていました。なんで要素数かというと、Rindaでは===をつかったパターンマッチングを許すので、要素数くらいしかアテになる分類方法が思いつかなかったからです。
んで、12416では、先頭の要素(tuple[0]の要素)がSymbolの場合には最初の要素で分類することにしました。Symbolの===はSymbolとしかマッチしないので都合が良いのです。じゃあ先頭の要素がSymbolじゃないときはどうするかというと、全部まとめてひとつのArrayにしまうことにしました。タプルの先頭にSymbolを入れている場合に限ってまあまあ効率よく動くようになると思います。
Rindaのサンプルなどで、タプルの先頭の要素にメッセージ種などのを示すSymbolを使うのはよくあるし、一般的な状況での効率があがるんじゃないだろうかと願ってます(自信ない。でも要素数で分けるよりもましだと思う。)