@@ -137,7 +137,7 @@ instance TraversableWithIndex k (PatchMapWithMove k) where
137137
138138-- | Create a 'PatchMapWithMove', validating it
139139patchMapWithMove :: Ord k => Map k (NodeInfo k v) -> Maybe (PatchMapWithMove k v)
140−patchMapWithMove = fmap coerce . PM.patchMapWithPatchingMove . coerce
140+patchMapWithMove = fmap PatchMapWithMove' . PM.patchMapWithPatchingMove . coerce
141141
142142-- | Create a 'PatchMapWithMove' that inserts everything in the given 'Map'
143143patchMapWithMoveInsertAll :: Map k v -> PatchMapWithMove k v
@@ -175,7 +175,7 @@ deleteMapKey = PatchMapWithMove' . PM.deleteMapKey
175175--
176176-- __Warning:__ when using this function, you must ensure that the invariants of 'PatchMapWithMove' are preserved; they will not be checked.
177177unsafePatchMapWithMove :: Map k (NodeInfo k v) -> PatchMapWithMove k v
178−unsafePatchMapWithMove = PatchMapWithMove' . PM.unsafePatchMapWithPatchingMove . coerce
178+unsafePatchMapWithMove = coerce PM.unsafePatchMapWithPatchingMove
179179
180180-- | Apply the insertions, deletions, and moves to a given 'Map'
181181instance Ord k => Patch (PatchMapWithMove k v) where
@@ -199,7 +199,7 @@ patchThatSortsMapWith cmp = PatchMapWithMove' . PM.patchThatSortsMapWith cmp
199199-- | Create a 'PatchMapWithMove' that, if applied to the first 'Map' provided,
200200-- will produce a 'Map' with the same values as the second 'Map' but with the
201201-- values sorted with the given ordering function.
202−patchThatChangesAndSortsMapWith :: forall k v. (Ord k, Ord v) => (v -> v -> Ordering) -> Map k v -> Map k v -> PatchMapWithMove k v
202+patchThatChangesAndSortsMapWith :: (Ord k, Ord v) => (v -> v -> Ordering) -> Map k v -> Map k v -> PatchMapWithMove k v
203203patchThatChangesAndSortsMapWith cmp oldByIndex newByIndexUnsorted = patchThatChangesMap oldByIndex newByIndex
204204 where newList = Map.toList newByIndexUnsorted
205205 newByIndex = Map.fromList $ zip (fst <$> newList) $ sortBy cmp $ snd <$> newList
@@ -255,13 +255,13 @@ bitraverseNodeInfo
255255 => (k0 -> f k1)
256256 -> (v0 -> f v1)
257257 -> NodeInfo k0 v0 -> f (NodeInfo k1 v1)
258−bitraverseNodeInfo fk fv = fmap coerce
258+bitraverseNodeInfo fk fv = fmap NodeInfo'
259259 . PM.bitraverseNodeInfo fk (\ ~Proxy -> pure Proxy) fv
260260 . coerce
261261
262262-- | Change the 'From' value of a 'NodeInfo'
263263nodeInfoMapFrom :: (From k v -> From k v) -> NodeInfo k v -> NodeInfo k v
264−nodeInfoMapFrom f = coerce . PM.nodeInfoMapFrom (unFrom' . f . From') . coerce
264+nodeInfoMapFrom f = coerce $ PM.nodeInfoMapFrom (unFrom' . f . From')
265265
266266-- | Change the 'From' value of a 'NodeInfo', using a 'Functor' (or
267267-- 'Applicative', 'Monad', etc.) action to get the new value
@@ -269,7 +269,7 @@ nodeInfoMapMFrom
269269 :: Functor f
270270 => (From k v -> f (From k v))
271271 -> NodeInfo k v -> f (NodeInfo k v)
272−nodeInfoMapMFrom f = fmap coerce
272+nodeInfoMapMFrom f = fmap NodeInfo'
273273 . PM.nodeInfoMapMFrom (fmap unFrom' . f . From')
274274 . coerce
275275
@@ -303,7 +303,7 @@ bitraverseFrom
303303 => (k0 -> f k1)
304304 -> (v0 -> f v1)
305305 -> From k0 v0 -> f (From k1 v1)
306−bitraverseFrom fk fv = fmap coerce
306+bitraverseFrom fk fv = fmap From'
307307 . PM.bitraverseFrom fk (\ ~Proxy -> pure Proxy) fv
308308 . coerce
309309