Changes in new versions / Clojure 1.12

;; *** before: ***
;; passing a Clojure fn where a Java @FunctionalInterface was
;; expected needed a manual reify adapter
(.removeIf (java.util.ArrayList. [1 2 3 4])
           (reify java.util.function.Predicate
             (test [_ x] (even? x))))

;; *** in version 1.12: ***
;; the compiler builds the adapter automatically from a plain fn
(.removeIf (java.util.ArrayList. [1 2 3 4]) even?)