Ok, now I understand it, using `throw/catch` seems way too complex, why not just use the normal `recursion_guard` and if the object is in a recursion return ``0`` or something.