 (def ugen-collide-ns-str "overtone.sc.ugen-collide")
 (defonce ugen-collide-ns (create-ns (symbol ugen-collide-ns-str)))
 (defonce overloaded-ugens* (atom {}))
-
+(defonce special-op-specs* (atom {}))
 
 (defn- op-rate
   "Lookup the rate of an input ugen, otherwise use IR because the operand

       (def-binary-op to-ns op-name special))))

(defmacro with-overloaded-ugens
  [& body]
  (let [bindings (flatten (map (fn [[orig overload]]
                                 [orig (symbol ugen-collide-ns-str (str overload))])

      ~@body)))

(defn combined-specs
  "Return a combination of ugen specs and the auto-generated special-op specs."
  []
  (merge UGEN-SPECS @special-op-specs*))
