I've just realised that this sort of lies, it doesn't wait, it just terminates (see ExitLoop), which is different behaviour from  the other wait(), so I don't know whether I should correct this or not.