>>61
gc_decref(*place); で car の内容のリファレンスカウンタが減算されるようになっているのか 。

p を pop() のリターン値として返すなら、pにコピーした時点で「移譲」だろうから、
p = list_car() の後で car に NULL を入れてしまうのが良いんじゃないか?

ところで…
pop() の戻りは list なのか。car の内容は object のような気がするが void* じゃないのか。