Struggling with having no early return

You can use || (assuming that these functions do not return boolean)

foo() || bar() || baz()

You can use with:

with nil <- foo(),
     nil <- bar(),
     nil <- baz(),
     do: nil