If you just do Synq.failIf(something, happens()), you can still return the something if it never happens.