                                  {} clist)]
     (methods-from-signature-map m-with-signature)))
 
-(defn merge-bounds
-  "Return new bounds with min and max values of either a or b"
-  [a b]
-  (let [la (first a)
-        lb (first b)
-        ua (second a)
-        ub (second b)]
-    [(apply min (remove nil? [la lb]))
-     (apply max (remove nil? [ua ub]))]))
-
 (defn merge-transition
   "More specific transition overrides specific transition.
   However, if they have :temporal-constraints, they are merged such that the

  (let [has-tc? (or (:temporal-constraints specific) (:temporal-constraints more-specific))
        trans (or more-specific specific)]
    (if has-tc?
      (conj trans {:temporal-constraints [{:type :bounds :value (merge-bounds (-> specific :temporal-constraints first :value)
                                                                              (-> more-specific :temporal-constraints first :value))}]
                   })
      trans)))

                (do (putils/dbg-println :warn "pamela.inheritance assoc-method method:"
                                        method-sym "has multiple methods with same signature" msig "\ncurrent will stay")
                    (putils/dbg-println :warn "current")
                    (putils/dbg-println :warn (with-out-str (pprint (get msig result))))
                    (putils/dbg-println :warn "another")
                    (putils/dbg-println :warn (with-out-str (pprint method))))
                (merge result {msig method}))))
          {} m-vec))

