;; *** 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?)