     (set? x) :set
     (coll? x) :coll))
 
+(subset-of ts :integer :number)
 (subset-of ts :double :number)
 (subset-of ts :float :number)
 (subset-of ts :map :coll)

   [:double b]]
  [:special-double-add a b])


(deftest test-it
  (is (= [:double-sum 7.9]

                  {:b 4})))
  (is (= [:triple-plus 6]
         (my-plus 1 2 3)))
  (is (= [:exotic 5/7]
         (my-plus 3/7 2/7)))
  (is (= (my-plus :a 3.4)
         [:special-double-add :a 3.4]))
  (is (thrown?
