@@ -136,8 +136,8 @@ moveMapKey src dst
136136-- @
137137-- let aMay = Map.lookup a map
138138-- bMay = Map.lookup b map
139−-- in maybe id (Map.insert a) (bMay `mplus` aMay)
140−-- . maybe id (Map.insert b) (aMay `mplus` bMay)
139+-- in maybe id (Map.insert a) (bMay <> aMay)
140+-- . maybe id (Map.insert b) (aMay <> bMay)
141141-- . Map.delete a . Map.delete b $ map
142142-- @
143143swapMapKey
@@ -281,6 +281,8 @@ deriving instance (Read k, Read p, Read (PatchTarget p)) => Read (NodeInfo k p)
281281deriving instance (Eq k, Eq p, Eq (PatchTarget p)) => Eq (NodeInfo k p)
282282deriving instance (Ord k, Ord p, Ord (PatchTarget p)) => Ord (NodeInfo k p)
283283
284+-- | Traverse the 'NodeInfo' over the key, patch, and patch target. Because of
285+-- the type families here, this doesn't it any bi- or tri-traversal class.
284286bitraverseNodeInfo
285287 :: Applicative f
286288 => (k0 -> f k1)
@@ -322,6 +324,8 @@ deriving instance (Read k, Read p, Read (PatchTarget p)) => Read (From k p)
322324deriving instance (Eq k, Eq p, Eq (PatchTarget p)) => Eq (From k p)
323325deriving instance (Ord k, Ord p, Ord (PatchTarget p)) => Ord (From k p)
324326
327+-- | Traverse the 'From' over the key, patch, and patch target. Because of
328+-- the type families here, this doesn't it any bi- or tri-traversal class.
325329bitraverseFrom
326330 :: Applicative f
327331 => (k0 -> f k1)