   given answer fulfills all given predicates."
   [prompt read & preds-and-fail-messages]
   (when-not (even? (count preds-and-fail-messages))
-    (illegal-argument "Every predicate needs to have a corresponding error message."))
+    (illegal-argument
+     "Every predicate needs to have a corresponding error message."))
   (let [predicates (partition 2 preds-and-fail-messages),
         sentinel   (Object.),
         read-fn    #(try (read) (catch Throwable _ sentinel))]

    (compare-order x y)))

(defn order-by
  "Returns a function on two arguments a and b that returns true if and only if b occurs
  not after a in the given sequence (ascending order.)"
  [sequence]
  (let [pos (zipmap sequence (range))]
    (fn [a b]


(defn parallel-closures
  "Returns the set of all closures of the closure operator on the given base set.
  Computes the closures in parallel, to the extent possible."
  [base clop]
  (loop [n        0
         closures #{(clop #{})}
