@@ -30,7 +30,6 @@ import Control.Lens hiding ((.=))
3030import Control.Monad.Base
3131import Control.Monad.Catch
3232import Control.Monad.Except
33−import Control.Monad.Fail
3433import Control.Monad.State.Strict
3534import Control.Monad.Trans.Control
3635import Data.Aeson
@@ -38,11 +37,14 @@ import Data.Foldable as F
3837import Data.Functor
3938import Data.List as L
4039import Data.Map.Strict as M
41−import Data.Monoid
4240import Data.Text as T
4341import Data.Vector as V
4442import Test.QuickCheck
4543
44+#if MIN_VERSION_base(4,18,0)
45+import Control.Monad
46+import Control.Monad.Fix
47+#endif
4648
4749-- | Collects all thrown warnings in 'StateT' and errors
4850-- in 'ExceptT' into a single value using 'Monoid'.
@@ -86,7 +88,7 @@ instance (Ord k, Semigroup v) => Semigroup (MonoidMap k v) where
8688
8789instance (Ord k, Monoid v) => Monoid (MonoidMap k v) where
8890 mempty = MonoidMap M.empty
89− mappend = mmAppend
91+ mappend = (<>)
9092
9193instance (ToJSON k, ToJSON v) => ToJSON (MonoidMap k v) where
9294 toJSON (MonoidMap m) = toJSON $ L.map toObj $ M.toList m