循環

 データからコンポーネントを参照できないので、動的関数が参照しているデータ型がコンポーネントの動的関数を参照して循環してしまうことはない。

 関数が動的関数を引数に取る時に、関数オブジェクトを暗黙に参照することで循環してしまうことがある。これは解決可能な問題なのだろうか。

 動的関数が暗黙に参照している動的関数、実名前体への暗黙の参照は、参照カウントを増やさないが、もう一つ別のカウントを増やす。これを内部参照カウントと呼ぶことにする。参照カウントが0になっても、内部参照カウントが0じゃないならば、そのオブジェクトは削除されず残る。内部参照カウントはその大元にある動的関数のオブジェクトIDのリストである。内部参照カウントだけが残ったとき、自分が参照しているオブジェクトの参照カウントを減らし、内部参照カウントを増やす。その内部参照カウントが大元の動的関数に帰ってきたとき、内部参照カウントを減らす。