                   {: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?

(subset-of ts :string :atom)
(subset-of ts :coll :all)
(subset-of ts :atom :all)

(def-dispatch my-plus ts get-feature)


    (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)
