until -package:monad-loops package:hosc

Repeat action until f does not give Nothing when applied to result.
Repeat action until predicate f is True when applied to result.
Pause current thread until the given time, see pauseThreadLimit.
Sleep current thread until the given time. Divides long sleeps into parts smaller than pauseThreadLimit.
Wait for a Packet where the supplied predicate is True, discarding intervening packets.
Wait for a Packet where the supplied predicate is True, discarding intervening packets.