Can I assume that MLton.Thread.atomically prevents a GC? If it does not, what happens to finalizers which should run, but can't b/c there is an atomic operation underway?