         [id static values] (build-styles styles)
         values (vals->array values)
         attrs (->> styles vals (filterv keyword?))]
-    [tag id static values attrs]))
+    [tag id static values `(cljs.core/array ~@attrs)]))
 
 (defmacro make-styled []
   '(defn styled [cls static vars attrs create-element]
      (fn [props & children]
-       (let [[props children] (if (map? props) [props children] [{} (apply vector props children)])
+       (let [[props children] (if (map? props)
+                                (array props children)
+                                (array {} (apply array props children)))
              var-class (->> vars
                             (map (fn [[cls v]]
                                    (cond

               [[] [[] [] 1]]))]
    [(->> (interleave ks statics)
          (apply str))
     vals]))

(defmacro defkeyframes
  "Takes var name, a vector of arguments and a hash map of CSS keyframes definition.


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