C backend: Continue to abstract over C statements
Abstract over abort, switch and do while
Optimization: Return null instead of mallocing 0
Fix the type of exception arguments
Fix variant construction