                members (filter #(and (= method-sym (:name %))
                                      (not (contains? (:flags %) :varargs)))
                                (:members interface))]
-           (map (fn [{:keys [return-type parameter-types] :as _member_}]
+           (map (fn [{:keys [return-type parameter-types] :as _member}]
                   {:method-sym (-with-hint return-type method-sym)
                    :arglist    (-fix-arglist-with-hints protocol-sym (into ['this] parameter-types))})
                 members))))))

any
  (reify
    ArgsMatcher
    (args-match? [_ _args_] true)
    (args-matcher->str [_] "<any>")

    ImplicitArgMatcher
    (arg-matches-implicitly? [_ _arg_] true)
    (arg-matcher->str [_] "<any>")))

(defn ^:no-doc -arg-matches?

  2. on each call returns the next value from `coll`, cyclically."
  [coll]
  (let [vals (atom (cycle coll))]
    (fn cyclical-fn [& _args]
      (let [result (first @vals)]
        (swap! vals next)
        result))))