Time to go atestin'. I should write some kind of testing module to torture modules with data divided up in unexpected ways and such. I probably won't for these tests though. Mysteriously, I have lost my Journeyman status. Perhaps someone bumped me back to Observer, I'm not sure.
Garbage collection is only the 'magic' solution for memory.
In my opinion, a language that gives you choice and flexibility in resource control techniques is much better and a big win over a language that doesn't. This is exactly the appropriate technique. The reference counting overhead is incurred in a very predictable and controllable manner. In fact, in the combining list tails problem that someone mentions is a perfect candidate for using this infrastructure. In Python, Perl, and other such 'scripting' languages, garbage collection is the right answer.