>>816
(f), (g)の実行中に継続が捕捉された場合は開放できない。
継続が捕捉され得るかどうかは(f), (g)を起点とするコールグラフ
全てのソースがわかっていないと静的に判断できない。
実行時に判断するなら、スタックをいじるとか、まあいろいろ方法は
あるけど、きちんとやるのは意外に面倒だよ。

それから、数値計算を速くしたいならflonumのアロケーションを
避けることと、数値のサブタイプによる実行時ディスパッチを避けること。
型宣言を追加するとか、特定のサブタイプ専用のオペレーションを
追加するとか、グローバルフロー解析やって型推論するとか。