update cs (Move src tgt) =
  let c = cs `S.index` src
  in S.insertAt tgt c (S.deleteAt src cs)
update cs (Move src tgt) =
  let c = cs `S.index` src
  in S.insertAt tgt c (S.deleteAt src cs)
update cs (Move src tgt) =
  let c = cs `S.index` src
  in S.insertAt tgt c (S.deleteAt src cs)