I've been tinkering with some garbage collection approaches for a toy language.
Comparing refcounting with mark-and-sweep, the latter seems less error-prone. 'Values in list X but not in Y' is less scary to implement than 'every incref should have a decref'. Agree/disagree?