Added llvm_puts (useful for debugging)
Store unions and hierarchies as packed structs