     (gen/vector (->> :a
                      (flow-condition-gen)
                      (flow-to-tasks-gen)
-                     ((fn [g] (gen/frequency
-                              [[1 (true-flow-condition-gen g)]
-                               [1 (false-flow-condition-gen g)]])))))]
+                     (maybe-predicate)))]
    (let [flow-conditions (into (into (into false-1 true-1) false-1) mixed-1)
          downstream (mapcat :flow/to flow-conditions)
          compiled (c/compile-fc-norms flow-conditions :a)

         results (t/route-data event nil nil flow-conditions downstream)]
     (is (= (into #{} (:flow/to (first true-1))) (into #{} (:flow results))))
     (is (nil? (:action results))))))

                           :flow/to (gen/return nil))]
       (gen/fmap #(merge v %) g)))))

(defn maybe-predicate [g]
  (gen/frequency
   [[1 (true-flow-condition-gen g)]
    [1 (false-flow-condition-gen g)]]))

(deftest nil-flow-conditions
  "No flow condition routes to all downstream tasks"
  (let [downstream [:a :b]
