@@ -202,7 +202,9 @@ patchThatChangesMap oldByIndex newByIndex = patch
202 putRemainingKeys $ Set.delete k fromKs
202 putRemainingKeys $ Set.delete k fromKs
203 return $ NodeInfo (From_Move k) $ Just undefined -- There's an existing value, and it's here, so no patch necessary
203 return $ NodeInfo (From_Move k) $ Just undefined -- There's an existing value, and it's here, so no patch necessary
205+ (fromK, remainingKeys) <- return $
206+ fromMaybe (error "PatchMapWithMove.patchThatChangesMap: impossible: fromKs was empty") $
205− (fromK, remainingKeys) <- return . fromMaybe (error "patchThatChangesMap: impossible: fromKs was empty") $ Set.minView fromKs -- There's an existing value, but it's not here; move it here
207+ Set.minView fromKs -- There's an existing value, but it's not here; move it here
206 putRemainingKeys remainingKeys
208 putRemainingKeys remainingKeys
207 return $ NodeInfo (From_Move fromK) $ Just undefined
209 return $ NodeInfo (From_Move fromK) $ Just undefined
208 Map.traverseWithKey f newByIndex
210 Map.traverseWithKey f newByIndex