%read に 転送可能カウンタを持たせることで解決した. %read の参照先がジェネレータ外部参照オブジェクトの場合, カウンタ値が 1 以上ならば -1 して転送する. 0 ならば転送は行わず, リプライ・オブジェクトを生成してフックし generate メソッドを呼び出す.
これらの処理により転送の終了が保証できる. ループに %read が入り込んだ場合, ループを構成するジェネレータ(群)の少なくともひとつはコンシューマに変わるので, いつかコンシューマのフックする変数に出会い転送は終了するからである. カウンタの初期値を適当な値, 例えば, ノード台数に設定することによって, %read を最初に送信したノードに %answer_value がいつでも 直接返ることが期待できる.