New garbage collection, now per-token instead of per-tree, builtins changed to reference instead of clone, gc_unmark() calls around the tree trimmed