1/2 gig is definitely a bit of a pain. What is the mark bit used for? Is this only for MLton.size? Or is it so that you can tell if something is forwarded?