Separate string and closures into HeapObjects.
Name unnamed unions.
Add missing braces.
Convert registers to struct array.