Thom's algorithm seems "safe" at a glance but I think its worth also documenting how any change like this interacts with GC in general (even if the documentation is "doesn't effect GC"). lee