     (map->FlatGraph {:layers layers
                      :succs (:succs cm-graph)
                      :preds (:preds cm-graph)
-                     :marked (:marked cm-graph)
                      :aboves aboves
                      :belows belows
                      :top-idxs top-idxs
-                     :bot-idxs bot-idxs})))
+                     :bot-idxs bot-idxs
+                     :marked (:marked cm-graph)
+                     :crossings (:crossings cm-graph)})))
 
 
 (defn check-alignment

(defprotocol Reversible
  (rev [item] "It... reverses"))


(defrecord Node [id layer-id characters weight])


    [(+ sup-crossings sub-crossings) marked]))


(defn SparseGraph->OrderedGraph
  "Performs one layer-by-layer sweep of the graph using ESK's algorithm"
  [sparse-graph first-layer]
