 
 
   "decimal thousand | million"
-  [(dim :number #(< (:value %) 999.9)) (integer 1000 1000000 #(#{1000 1000000} (:value %)))]
+  [(dim :number #(< (:value %) 999.9) #(not (:integer %))) (integer 1000 1000000 #(#{1000 1000000} (:value %)))]
   (let [value (* (:value %1) (long (:value %2)))
   	    int?  (zero? (mod value 1))
 		value (if int? (long value) value)]

  "ten"
  #"(?i)on"
  {:dim :number :integer true :value 10 :grain 1}

  "single"
  #"(?i)single"
  {:dim :number :integer true :value 1 :grain 1}

  "a couple (of)"
  #"(?i)(bir )?çift"

   :grain (:grain %2)}

  "number millions"
  [(integer 2 999) (integer 1000000 1000000)]
  {:dim :number
   :integer true
   :value (* (:value %1) (:value %2))
