@@ -152,15 +152,10 @@ instance (NFData v) => NFData (MaybeDefault v) where
152 rnf (SetTo v) = rnf v
152 rnf (SetTo v) = rnf v
154instance Eq v => Semigroup (MaybeDefault v) where
154instance Eq v => Semigroup (MaybeDefault v) where
155− Default <> Default = Default
156− Default <> KeepCurrent = Default
157− Default <> SetTo v = SetTo v
155+ _ <> v@(SetTo _) = v
158− KeepCurrent <> Default = Default
159− KeepCurrent <> KeepCurrent = KeepCurrent
156+ x <> KeepCurrent = x
160− KeepCurrent <> SetTo v = SetTo v
157+ Default <> _ = Default
161− SetTo _v <> Default = Default
158+ _ <> Default = Default
162− SetTo v <> KeepCurrent = SetTo v
163− SetTo _ <> SetTo v = SetTo v
165instance Eq v => Monoid ( MaybeDefault v ) where
160instance Eq v => Monoid ( MaybeDefault v ) where
166 mempty = KeepCurrent
161 mempty = KeepCurrent