I do sometimes "need" something like this. Very concrete example:
```
(cond-let
[search-results1 (check1-involving-heavy-work)] {:result search-results1}
[search-results2 (check2-involving-heavy-work)] {:result search-results2}
[search-results3 (check3-involving-heavy-work)] {:result search-results3}
[search-results4 (check4-involving-heavy-work)] {:result search-results4}
:else ...)
```
I found this:
https://cljdoc.org/d/org.flatland/useful/0.11.6/api/flatland.useful.experimental#cond-let
Not sure why it is "experimental", but this seems to be, well, useful to me :)
(* updated to make example a bit more clear; it's a hypothetical example, don't pin me down on the details and how you could do this exact example differently please :) *)