full support for recursive def rules in the C runtime