 ;; Protocols
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(extend-type +decimal+
+(extend-type *decimal*
   cljs.core/IEquiv
   (-equiv [v other]
     (.eq v other))

  "Returns a new Decimal whose value is the square root of the sum
  of the squares of the arguments."
  [& params]
  (.apply (.-hypot +decimal+) +decimal+ (clj->js params)))

(defn neg
  "Returns a new Decimal whose value is the value of this Decimal negated."

(defn ^boolean decimal?
  "Return true if `v` is a instance of Decimal."
  [v]
  (instance? *decimal* v))

(defn ^boolean finite?
  "Returns true if the value of this Decimal is a finite
