Rename {Object}->{GCObject}.
Make closure instances heap-allocated.
Change GC to copying collector.