   (let [width (:width stroke)]
     (or (nil? width) (pos? width))))
 
-(defmulti draw-primitive (fn [g2d obj params] (type obj)))
+(defmulti draw-primitive (fn [g2d obj params & inner-items] (type obj)))
 
 (defmethod draw-primitive Shape
   [g2d shape {:keys [color fill stroke] :as params}]

         (filter second)
         (into {}))))
   
(defmulti make-obj (fn [obj-keyword params] obj-keyword))

(defmethod make-obj :arc
  [_ {:keys [l t w h start-angle arc-angle arc-boundary closed]}]

            :underline false
            :strikethrough false
            :size 50}}]
   [:compound
    {:x 350 :y 350 :w 40 :h 40}
    [:ellipse
     {:x 350 :y 350 :w 40 :h 40 :fill {:color :pink}
      :stroke {:width 4 :color 0xE06060}}]
    [:line
     {:x 350 :y 350 :w 18 :h 18 :color :white :alpha 0.8
      :stroke {:width 7 :cap :butt}}]
    [:line
     {:x 350 :y 350 :w -18 :h 18 :fill false :color :white :alpha 0.8
      :stroke {:width 7 :cap :butt}}]]
   [:image
     {:x 200 :t 150 :data img :rotate 171}]
   [:line
    {:x 180 :y 220 :w 0 :h 50 :color :red
     :stroke {:width 10 :cap :round}
