Preserve oct/hex number literals instead of emitting all as decimal
Support float literals
Re-add support for unions and enums