    clauses))
 
 (defn asserts+retracts* [clauses]
-  (let [assert-fs (map #(map-q (second %)) (filter assert? clauses))
-        retract-fs (map #(map-q (second %)) (filter retract? clauses))
+  (let [assert-fs (into [] (map #(map-q (second %)) (filter #(op? '+ %) clauses)))
+        retract-fs (into [] (map #(map-q (second %)) (filter #(op? '- %) clauses)))
         gen (gen* clauses)]
     (fn [kn]
       (let [facts (gen kn)

  (Knowledge. (to-be kn) #{} #{}))

;; creating queries

(defn vars [clause]
  (condp op? clause

            elem (get fact set-key :inq-not-found)]
        (assoc fact name-key elem)))))

(defn gen* [clauses]
  (reduce
   (fn [query clause]
