    (fn [_ incoming]
      (let [res (vals (peek incoming))]
        ;;(debug :agg-incoming res)
-       (delay
-        (when (every? #(not= [nil] %) res)
-          (->> res
-               (map #(disj % nil))
-               (set)
-               (sort-by count)
-               (reduce set/intersection)
-               (map #(deref (f/vertex-for-id g %)))
-               (set))))))))
+       ;; FIXME delay
+       (when (every? #(not= [nil] %) res)
+         (->> res
+              (map #(disj % nil))
+              (set)
+              (sort-by count)
+              (reduce set/intersection)
+              (map #(deref (f/vertex-for-id g %)))
+              (set)))))))
 
 (defn qvar?
   "Returns true, if x is a qvar (a symbol prefixed with '?')"

     :num-projects num-projects
     :num-types num-types
     }))

        verify     (triple-verifier s p o vs? vp? vo?)
        collect-fn (f/collect-pure
                    (fn [_ incoming]
                      ;; FIXME delay
                      (when-let [res (peek incoming)]
                        (into #{}
                              (comp (map #(if (verify %) (vmap %)))
                                    (filter identity))
                              res)))) ;; FIXME delay @
        q-pattern  [(if vs? nil s) (if vp? nil p) (if vo? nil o)]
        q-spec     (add-query! g id q-pattern)
        resv       (f/add-vertex! g nil {::f/collect-fn collect-fn})] ;; FIXME delay
    (f/add-edge! g (:result q-spec) resv f/signal-forward nil)
    (assoc q-spec :qvar-result resv)))

