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