I'm pretty sure that the notion is that if you are doing something like causing an interrupt, that will be reflected in ML code (so that the flow analysis can catch it) and not be hidden in a primitive.