2863

Folding in GC is more complex. Just a copy of layer 19 for
starters.
2864

GC helpers.
2865

Clarify that read_all is just for testing.
2866

Attempt to GC result of read() fails at the first hurdle.
But hey, we can use this to figure out the tracing.
2867

No, I just have to add all the mkref's at once before I can add *any* rmref's.
2868
2869

run() is getting quite intricate.

And managing extern vars is gonna be a whole new level of challenge.
Nah, just add a hack like an 'externs' target to add to, etc.
2870

A new helper relieves some of the pressure on the criss-crossing
rmref's.
2871
2872
2873 - mostly done folding in GC

dump_unfreed() is doing a decent enough job that we don't need to
check every last nrefs.
2874

Experiment in adding more GC checks, but it doesn't work:
  a) mkref/rmref doesn't balance because we're not disciplined
  about nrefs of 1 vs 0.
  b) alloc/free doesn't balance in tests that CLEAR_TRACE
  internally.
2875
2876

Some unnecessary rmref's.
2877 - tracing for GC

After the failed attempt of 2874, this is the right approach.
Can't be one-size-fits-all; think about GC concerns, but
don't pollute eval, etc. with them.

Everytime I had a NULL bug, did I write a test? Even if I did,
I'm afraid I might have taken something important out, like
test_set_deletes_nonexistent_key.
2878 - tracing tests for cell primitives
2879
2880
2881 - fold changes into layer 17
2882