Taking a look at the latest mlton.c, I see that about 2.1% of the lines of code are for globals initialization. Maybe the actual bytes of object file per line is higher for globals than the rest of the code (I suspect it is), but the code space for globals is still probably < 5%.