You never answered my question about why so many functions in gc.c are extern (instead of static)? What exactly is the outside interface to gc.c? I am thinking of re-writing it, but perhaps that should wait until after the release since I would be nervous of not having enough time really test it out.