 ;;; Math - variadic forms will not work until the following implemented:
 ;;; first, next, reduce
 
-(defn +
+(defn ^number +
   "Returns the sum of nums. (+) returns 0."
   ([] 0)
   ([x] x)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Seq fns ;;;;;;;;;;;;;;;;

(defn compare
  "Comparator. Returns a negative number, zero, or a positive number
  when x is logically 'less than', 'equal to', or 'greater than'
  y. Uses IComparable if available and google.array.defaultCompare for objects

    [this a b c d e f g h i j k l m n o p q s t rest]))

(defprotocol ICounted
  (^number -count [coll] "constant time count"))

(defprotocol IEmptyableCollection
  (-empty [coll]))
