@@ -20,12 +20,13 @@ import Data.Patch.MapWithMove (PatchMapWithMove (..))
2020import qualified Data.Patch.MapWithMove as MapWithMove
2121
2222import Data.Constraint.Extras
23−import Data.Dependent.Map (DMap, DSum (..), GCompare (..))
23+import Data.Dependent.Map (DMap)
24+import Data.Dependent.Sum (DSum (..))
2425import qualified Data.Dependent.Map as DMap
2526import Data.Functor.Constant
2627import Data.Functor.Misc
2728import Data.Functor.Product
28−import Data.GADT.Compare (GEq (..))
29+import Data.GADT.Compare (GEq (..), GCompare (..))
2930import Data.GADT.Show (GShow, gshow)
3031import qualified Data.Map as Map
3132import Data.Maybe
@@ -33,7 +34,7 @@ import Data.Monoid.DecidablyEmpty
3334#if !MIN_VERSION_base(4,11,0)
3435import Data.Semigroup (Semigroup (..))
3536#endif
36−import Data.Some (Some(Some))
37+import Data.Some (Some, mkSome)
3738import Data.These
3839
3940-- | Like 'PatchMapWithMove', but for 'DMap'. Each key carries a 'NodeInfo' which describes how it will be changed by the patch and connects move sources and
@@ -317,8 +318,8 @@ weakenPatchDMapWithMoveWith f (PatchDMapWithMove p) = PatchMapWithMove $ weakenD
317318 { MapWithMove._nodeInfo_from = case _nodeInfo_from ni of
318319 From_Insert v -> MapWithMove.From_Insert $ f v
319320 From_Delete -> MapWithMove.From_Delete
320− From_Move k -> MapWithMove.From_Move $ Some k
321− , MapWithMove._nodeInfo_to = Some <$> getComposeMaybe (_nodeInfo_to ni)
321+ From_Move k -> MapWithMove.From_Move $ mkSome k
322+ , MapWithMove._nodeInfo_to = mkSome <$> getComposeMaybe (_nodeInfo_to ni)
322323 }
323324
324325-- |"Weaken" a @'PatchDMapWithMove' (Const2 k a) v@ to a @'PatchMapWithMove' k v'@. Weaken is in scare quotes because the 'Const2' has already disabled any