           (map->ClassGraph {:classes topo-classes :succs succs
                             :preds preds :sources sources}))
         (let [class (first cs)
-              class-set (into #{} class)
+              class-set (set class)
               block-succs (->> (mapcat #(-> block-graph :succs (get %)) class)
                                (remove #(contains? class-set (:dest %)))
-                               (into #{}))
+                               set)
               block-preds (map rev block-succs)
               ss (reduce edge->set succs block-succs)
               ps (reduce edge->set preds block-preds)]

  aligned blocks"
  [cm-graph]
  (let [{:keys [layers succs preds marked crossings characters]} cm-graph
        cm-layers (into [] (map OrderedLayer->FlatLayer layers))
        [aboves belows] (apply map merge (map neighborify cm-layers))
        [top-idxs bot-idxs] (apply map merge (map indexify cm-layers))]
    (map->FlatGraph {:layers cm-layers

                    (range (inc dest-layer) src-layer))
               (map (partial Edge->Segment pred)
                    (range (dec dest-layer) src-layer -1)))]
    (conj (vec segs) src)))


(defn blockify-layer
