コードを見てないからなんなんだが、
a = {A='a'}
a.next = a
みたいな循環構造のテーブルを渡した場合はどうしてる?