let compare_mark m1 m2 =
  if m1 == m2 then 0
  else match m1, m2 with
    | SpareSpare -> 0
    | Cav d1, Cav d2 -> PdgTypes.Dpd.compare d1 d2
    | Cav _, Spare -> -1
    | SpareCav _ -> 1