> In other words, the finalizer is run before the call to touch. Is > this the expected behavior? No. It looks like a bug, based on the spec for touch at http://mlton.org/MLtonFinalizable touch v ensures that v's finalizers will not run before the call to touch.