       [this (ref-frame db seen pattern attr (.-e ^Datom (first-seq datoms)))]
 
       :else
-      [this (MultivalRefAttrFrame. [] pattern attr datoms)])))
+      [this (MultivalRefAttrFrame. (transient []) pattern attr datoms)])))
 
 (defn ref-frame [db seen pattern ^PullAttr attr id]
   (attrs-frame db seen (if (.-recursive? attr) pattern (.-pattern attr)) id))

        ;; matching attr
        (and (.-multival? attr) (.-ref? attr))
        [(AttrsFrame. acc pattern attr attrs datoms id)
         (MultivalRefAttrFrame. [] pattern attr datoms)]

        (.-multival? attr)
        [(AttrsFrame. acc pattern attr attrs datoms id)

  (if (contains-set? seen id)
    (ResultFrame. {:db/id id} nil)
    (do
      (conj-set seen id)
      (AttrsFrame.
        (transient {})
        pattern
