+ -- Note that we need to check whether the character is "big".
+ -- External Core only allows character literals up to '\xff'.
+ MachChar i | i <= chr 0xff -> C.Lchar i t
+ -- For a character bigger than 0xff, we represent it in ext-core
+ -- as an int lit with a char type.
+ MachChar i -> C.Lint (fromIntegral $ ord i) t