(defn foo! [i]
(rand-nth (concat
(range 20)
[{:cognitect.anomalies/anomaly {:cognitect.anomalies/category :cognitect.anomalies/unavailable}}
{:cognitect.anomalies/anomaly {:cognitect.anomalies/category :cognitect.anomalies/busy}}
{:cognitect.anomalies/anomaly {:cognitect.anomalies/category :cognitect.anomalies/forbidden}}])))
(map foo! (range 15))
(18
12
8
13
1
14
13
#:cognitect.anomalies{:anomaly #:cognitect.anomalies{:category :cognitect.anomalies/unavailable}}
8
15
2
2
13
6
14)
Do we really want to throw away the rest of the computation? That probably depends what you're doing.