cljs.spec.alpha/and

macropreviously cljs.spec/andEdit
(and & pred-forms)

Source docstring:
Takes predicate/spec-forms, e.g.

(s/and even? #(< % 42))

Returns a spec that returns the conformed value. Successive
conformed values propagate through rest of predicates.
Source code @ clojurescript:src/main/cljs/cljs/spec/alpha.cljc
(defmacro and
  [& pred-forms]
  `(and-spec-impl '~(mapv #(res &env %) pred-forms) ~(vec pred-forms) nil))