 
 #?(:clj
    (defn ^:no-doc -not-yet-in-specs?
-     [specs [nice-method-sym :as _spec_]]
+     [specs [nice-method-sym :as _spec]]
      (nil?
-       (-find-first (fn [[method-sym :as _spec_]]
+       (-find-first (fn [[method-sym :as _spec]]
                       (= method-sym nice-method-sym))
                     specs))))
 
 #?(:clj
    (defn ^:no-doc -add-nice-specs-for-protocol
-     [env [protocol-sym parsed-specs :as _parsed_spec_]]
+     [env [protocol-sym parsed-specs :as _parsed-spec]]
      (let [nice-specs (-nice-specs env protocol-sym)
            auto-specs (filter (partial -not-yet-in-specs? parsed-specs) nice-specs)
            new-specs (concat parsed-specs auto-specs)]


#?(:clj
   (defn ^:no-doc -emit-method-specs
     [{:keys [imp-sym signatures] :as _method-imp_}]
     (map (fn [{:keys [method-sym arglist]}]
            `(~method-sym ~arglist
               (~imp-sym ~@(map -remove-meta arglist))))

  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))))