#sob-fold 自体はハッシュテーブルの中身を足すだけで、順序に依存してないように見えるんですけど、何故これで直るんでしょう?(参照実装をそのまま使ってるLarcenyは問題なく動いたので単なる疑問です。)
#元のコードはただ足してるんじゃなくて (累積ハッシュ値*33 + 要素のハッシュ) でやってるので、hash-table-for-eachが要素を返す順番でハッシュ値が変わります。
#たまたまhash-table-for-eachが要素をなめる順番が同じならテストは通りますね。
#あぁ、乗算がありましたか(見落とし)。加算のみなのに何故順序が関係するのかと勘違いしてました。