   [var args styles]
   (let [[id# static# vals#] (build-styles styles)]
     `(defn ~var ~args
-       (cljss.core/css ~id# ~static# ~vals#))))
+       (cljss.core/css ~id# ~static# (cljs.core/array ~@(map (fn [v] `(cljs.core/array ~@v)) vals#))))))
 
 (defn- vals->array [vals]
   (let [arrseq (mapv (fn [[var val]] `(cljs.core/array ~var ~val)) vals)]

                                                    [(nth args idx) value]))
                                     (mapcat identity)
                                     ((fn [coll] (concat coll [:else (get styles rule)]))))))
                      ~(mapv second states))])))
         (into {})
         (merge styles)
         (#(apply dissoc % sprops)))))


                                     :else (array cls v))))
                            (cljss.core/css cls static))
             meta-attrs (->> vars
                             (map second)
                             (filter #(satisfies? IWithMeta %))
                             (map meta)
                             flatten
                             set)
             className (:className props)
             className (str (when className (str className " ")) var-class)
             props (assoc props :className className)
