WIP - lots of changes to continue with closure support
WIP - woah, first closure C codegen working