            cfns (fn [x]
                   ;;returns a tuple of [init add complete] fns
                   (cond
-                   (vector? x)
+                   (c/and (vector? x) (vector? gen-into))
                    [identity
                     (fn [ret i v cv]
                       (if (identical? v cv)

                        (assoc ret i cv)))
                    identity]

                   (map? x)
                   [(if conform-keys empty identity)
                    (fn [ret i v cv]
                      (if (c/and (identical? v cv) (not conform-keys))

    (swap! registry-ref assoc k spec)
    k))

(defn- ns-qualify
  "Qualify symbol s by resolving it or using the current *ns*."
  [s]
  (if-let [ns-sym (some-> s namespace symbol)]
