:: [Maybe a] -> [a] package:extra

Keep running an operation until it becomes a Just, then return the value inside the Just as the result of the overall loop.
Keep running an operation until it becomes a Nothing, accumulating the monoid results inside the Justs as the result of the overall loop.