             (instance? IEdge a)
             (recur (assoc src2img a b) (conj (pop q) [(.target a) (.target b)]))
             
-            (not (check-sigs a b))
+            (not (equal-sigs? (map-sig op (sigs a)) (sigs b)))
             nil
             
             :else

            (empty? q)
            src2img

            (= b (src2img a))
            (recur src2img (pop q))
            

  (when (.isUnimodularIntegerMatrix M)
    (let [sigs (node-signatures net)
          d (.minus (first (first (sigs w))) (first (first (sigs v))))
          op (.times (Operator. (extend-matrix M)) (Operator. d))]
      (loop [src2img {}
             q (conj empty-queue [v w])]
        (let [[a b] (first q)]
