If throw
becomes an expression of type Never
and Never
becomes a true bottom type, you'd be able to write this as:
try? quixify(foo: acquireFoo() ?? throw CannotAcquireFoo,
bar: acquireBar() ?? throw CannotAcquireBar,
baz: acquireBaz())
Of course you could also use plain try
and handle the errors explicitly as well.