     (gen/vector (->> :a
                      (flow-condition-gen)
                      (flow-to-tasks-gen)
-                     (short-circuit-flow-condition-gen)
+                     (flow-short-circuit-condition-gen)
                      (maybe-predicate)))
     exceptions
     (gen/vector (->> :a

                  (gen/return {:flow/predicate ::false-pred
                               :pred/val false})))

(defn short-circuit-flow-condition-gen [base-gen]
  (merge-gen-maps base-gen (gen/return {:flow/short-circuit? true})))

(defn exception-flow-condition-gen [base-gen]

                                 (flow-to-none-gen))))]
    (let [fcs (into [] (concat fcs-other fcs-none))]
      (is (thrown? Exception (v/validate-flow-conditions fcs []))))))


(deftest short-circuit-placed-before-other
  (checking
    ":flow/short-circuit? true should be placed before other conditions"
    (times 50)
    [fcs-other (gen/not-empty
                 (gen/vector (->> :a
                                  (flow-condition-gen))))
     fcs-short-circuit (gen/not-empty
                        (gen/vector (->> :a
                                         (flow-condition-gen)
                                         (flow-short-circuit-condition-gen ))))]
    (let [fcs (into [] (concat fcs-other fcs-short-circuit))]
      (is (thrown? Exception (v/validate-flow-conditions fcs []))))))
