Note, MLton already uses safe points for things and so already has the code to place safe points `often enough'. This is used for things like checking for signals.