 (declare type-checker)
 
 (defn fix-key [k parent-value]
-  (if (or (vector? parent-value) (seq? parent-value)) 0 k))
+  (if (sequence-like? parent-value) 0 k))
 
 (defn find-keyword-predicate [parent-type]
   (when-let [[pred-id _ [pt _ kt]] (first (*schema-rules* [:parent :?- parent-type]))]

        (set? coll))
    (cons :SEQQ (map vector (range) (map seqify coll)))
    :else coll))

(defn map?? [x]
  (and (or (seq? x) (vector? x))

(defmethod apply-pred := [[_ pred] value] (pred value))
(defmethod apply-pred :=> [[_ pred] value] (= (cond
                                                (map? value) :MAPP
                                                (sequence-like? value) :SEQQ
                                                :else :_____BAD)
                                              pred))

