The build succeeded. 0 test suites succeeded, 0 failed.

Build log

> /tmp/stackage-build2451$ stack unpack Strafunski-StrategyLib-5.0.1.0@sha256:829a8d0e75ecea5f2826802f3ebb851501c3f5db15b6d9a379cbbbe302eecfc2
Unpacked Strafunski-StrategyLib-5.0.1.0 to /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0/
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ghc -clear-package-db -global-package-db -package-db=/home/circleci/project/builds/nightly/pkgdb Setup
[1 of 1] Compiling Main             ( Setup.hs, Setup.o )
Linking Setup ...
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ./Setup configure --package-db=clear --package-db=global --package-db=/home/circleci/project/builds/nightly/pkgdb --libdir=/home/circleci/project/builds/nightly/lib --bindir=/home/circleci/project/builds/nightly/bin --datadir=/home/circleci/project/builds/nightly/share --libexecdir=/home/circleci/project/builds/nightly/libexec --sysconfdir=/home/circleci/project/builds/nightly/etc --docdir=/home/circleci/project/builds/nightly/doc/Strafunski-StrategyLib-5.0.1.0 --htmldir=/home/circleci/project/builds/nightly/doc/Strafunski-StrategyLib-5.0.1.0 --haddockdir=/home/circleci/project/builds/nightly/doc/Strafunski-StrategyLib-5.0.1.0
Configuring Strafunski-StrategyLib-5.0.1.0...
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ghc -clear-package-db -global-package-db -package-db=/home/circleci/project/builds/nightly/pkgdb Setup
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ./Setup build
Preprocessing library for Strafunski-StrategyLib-5.0.1.0..
Building library for Strafunski-StrategyLib-5.0.1.0..

on the commandline: warning:
    -XOverlappingInstances is deprecated: instead use per-instance pragmas OVERLAPPING/OVERLAPPABLE/OVERLAPS
[ 1 of 20] Compiling Control.Monad.Run ( Control/Monad/Run.hs, dist/build/Control/Monad/Run.o )

Control/Monad/Run.hs:22:1: warning: [-Wdeprecations]
    Module ‘Control.Monad.Error’ is deprecated:
      Use "Control.Monad.Except" instead
   |
22 | import Control.Monad.Error
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^

Control/Monad/Run.hs:30:18: warning: [-Wtabs]
    Tab character found here, and in 75 further locations.
    Please use spaces instead.
   |
30 | data MaybeAlg a b       = MaybeAlg { nothing :: b, just :: a -> b }
   |                  ^^^^^^^

Control/Monad/Run.hs:106:31: warning: [-Wdeprecations]
    In the use of type constructor or class ‘ListT’
    (imported from Control.Monad.List, but defined in Control.Monad.Trans.List):
    Deprecated: "This transformer is invalid on most monads"
    |
106 | instance MonadUnTrans ListAlg ListT where
    |                               ^^^^^

Control/Monad/Run.hs:107:28: warning: [-Wdeprecations]
    In the use of ‘runListT’
    (imported from Control.Monad.List, but defined in Control.Monad.Trans.List):
    Deprecated: "This transformer is invalid on most monads"
    |
107 |   unlift alg ma = do as <- runListT ma 
    |                            ^^^^^^^^

Control/Monad/Run.hs:116:37: warning: [-Wdeprecations]
    In the use of type constructor or class ‘ErrorT’
    (imported from Control.Monad.Error, but defined in Control.Monad.Trans.Error):
    Deprecated: "Use Control.Monad.Trans.Except instead"
    |
116 | instance MonadUnTrans (ErrorAlg e) (ErrorT e) where
    |                                     ^^^^^^

Control/Monad/Run.hs:117:28: warning: [-Wdeprecations]
    In the use of ‘runErrorT’
    (imported from Control.Monad.Error, but defined in Control.Monad.Trans.Error):
    Deprecated: "Use Control.Monad.Trans.Except instead"
    |
117 |   unlift alg ma = do ea <- runErrorT ma
    |                            ^^^^^^^^^
[ 2 of 20] Compiling Data.Generics.Strafunski.StrategyLib.ChaseImports ( Data/Generics/Strafunski/StrategyLib/ChaseImports.hs, dist/build/Data/Generics/Strafunski/StrategyLib/ChaseImports.o )

Data/Generics/Strafunski/StrategyLib/ChaseImports.hs:25:1: warning: [-Wdeprecations]
    Module ‘Control.Monad.Error’ is deprecated:
      Use "Control.Monad.Except" instead
   |
25 | import Control.Monad.Error () -- This import gives us (MonadPlus IO) !!
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ChaseImports.hs:45:16: warning: [-Wtabs]
    Tab character found here, and in 35 further locations.
    Please use spaces instead.
   |
45 |   :: [FilePath]           -- ^ path (list of directories to search)
   |                ^
[ 3 of 20] Compiling Data.Generics.Strafunski.StrategyLib.Models.Deriving.TermRep ( Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs, dist/build/Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.o )
[ 4 of 20] Compiling Data.Generics.Strafunski.StrategyLib.MonadicFunctions ( Data/Generics/Strafunski/StrategyLib/MonadicFunctions.hs, dist/build/Data/Generics/Strafunski/StrategyLib/MonadicFunctions.o )

Data/Generics/Strafunski/StrategyLib/MonadicFunctions.hs:31:6: warning: [-Wtabs]
    Tab character found here, and in 7 further locations.
    Please use spaces instead.
   |
31 | mseq            :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
   |      ^^^
[ 5 of 20] Compiling Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives ( Data/Generics/Strafunski/StrategyLib/Models/Deriving/StrategyPrimitives.hs, dist/build/Data/Generics/Strafunski/StrategyLib/Models/Deriving/StrategyPrimitives.o )

Data/Generics/Strafunski/StrategyLib/Models/Deriving/StrategyPrimitives.hs:49:14: warning: [-Wtabs]
    Tab character found here, and in 63 further locations.
    Please use spaces instead.
   |
49 | unTP (MkTP f)    = f
   |              ^^^
[ 6 of 20] Compiling Data.Generics.Strafunski.StrategyLib.MoreMonoids ( Data/Generics/Strafunski/StrategyLib/MoreMonoids.hs, dist/build/Data/Generics/Strafunski/StrategyLib/MoreMonoids.o )
[ 7 of 20] Compiling Data.Generics.Strafunski.StrategyLib.StrategyPrelude ( Data/Generics/Strafunski/StrategyLib/StrategyPrelude.hs, dist/build/Data/Generics/Strafunski/StrategyLib/StrategyPrelude.o )

Data/Generics/Strafunski/StrategyLib/StrategyPrelude.hs:29:5: warning: [-Wtabs]
    Tab character found here, and in 8 further locations.
    Please use spaces instead.
   |
29 | idTP            :: Monad m => TP m
   |     ^^^^

Data/Generics/Strafunski/StrategyLib/StrategyPrelude.hs:59:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term a’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        monoTP :: (Term a, MonadPlus m) => (a -> m a) -> TP m
   |
59 | monoTP          :: (Term a, MonadPlus m) => (a -> m a) -> TP m
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/StrategyPrelude.hs:64:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term a’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        monoTU :: (Term a, MonadPlus m) => (a -> m b) -> TU b m
   |
64 | monoTU          :: (Term a, MonadPlus m) => (a -> m b) -> TU b m
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 8 of 20] Compiling Data.Generics.Strafunski.StrategyLib.OverloadingTheme ( Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/OverloadingTheme.o )

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:52:1: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the context: (Strategy s m, Monad m, Term t)
      While checking the super-classes of class ‘StrategyApply’
      In the class declaration for ‘StrategyApply’
   |
52 | class (Strategy s m, Monad m, Term t) => StrategyApply s m t x | s t -> x
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:59:10: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the instance declaration for ‘StrategyApply TP m t t’
   |
59 | instance (Monad m, Term t) => StrategyApply TP m t t
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:64:10: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the instance declaration for ‘StrategyApply (TU a) m t a’
   |
64 | instance (Monad m, Term t) => StrategyApply (TU a) m t a
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:82:10: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Strategy TP m’ matches
        instance Monad m => Strategy TP m
          -- Defined at Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:39:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the instance declaration for ‘StrategyMonoid TP m’
   |
82 | instance (Monad m, Strategy TP m) => StrategyMonoid TP m
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:88:10: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Strategy (TU u) m’ matches
        instance Monad m => Strategy (TU a) m
          -- Defined at Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:45:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the instance declaration for ‘StrategyMonoid (TU u) m’
   |
88 | instance (Monad m, Monoid u, Strategy (TU u) m) => StrategyMonoid (TU u) m
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:106:10: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Strategy TP m’ matches
        instance Monad m => Strategy TP m
          -- Defined at Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:39:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the instance declaration for ‘StrategyPlus TP m’
    |
106 | instance (Monad m, MonadPlus m, Strategy TP m) => StrategyPlus TP m
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:112:10: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Strategy (TU u) m’ matches
        instance Monad m => Strategy (TU a) m
          -- Defined at Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:45:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the instance declaration for ‘StrategyPlus (TU u) m’
    |
112 | instance (Monad m, MonadPlus m, Strategy (TU u) m) => StrategyPlus (TU u) m
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/OverloadingTheme.hs:120:7: warning: [-Wtabs]
    Tab character found here, and in two further locations.
    Please use spaces instead.
    |
120 | monoS   :: (StrategyApply s m t x, StrategyPlus s m) 
    |       ^^
[ 9 of 20] Compiling Data.Generics.Strafunski.StrategyLib.StrategyInfix ( Data/Generics/Strafunski/StrategyLib/StrategyInfix.hs, dist/build/Data/Generics/Strafunski/StrategyLib/StrategyInfix.o )

Data/Generics/Strafunski/StrategyLib/StrategyInfix.hs:23:7: warning: [-Wtabs]
    Tab character found here, and in 10 further locations.
    Please use spaces instead.
   |
23 | (>>>)           :: Strategy s m => TP m -> s m -> s m
   |       ^^
[10 of 20] Compiling Data.Generics.Strafunski.StrategyLib.FlowTheme ( Data/Generics/Strafunski/StrategyLib/FlowTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/FlowTheme.o )

Data/Generics/Strafunski/StrategyLib/FlowTheme.hs:38:8: warning: [-Wtabs]
    Tab character found here, and in 11 further locations.
    Please use spaces instead.
   |
38 | tryTU        =  tryS
   |        ^

Data/Generics/Strafunski/StrategyLib/FlowTheme.hs:138:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        filterTP :: (Term t, MonadPlus m) => (t -> Bool) -> TP m
    |
138 | filterTP        :: (Term t, MonadPlus m) => (t -> Bool) -> TP m
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/FlowTheme.hs:143:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        filterTU :: (Term t, MonadPlus m) => (t -> Bool) -> TU t m
    |
143 | filterTU        :: (Term t, MonadPlus m) => (t -> Bool) -> TU t m
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/FlowTheme.hs:152:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        tickTU :: (Monad m, Term t, Num n) => (t -> Bool) -> TU n m
    |
152 | tickTU          :: (Monad m, Term t, Num n) => (t -> Bool) -> TU n m
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/FlowTheme.hs:176:21: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        typeTickTU :: (Term t, Monad m, Num n) => TypeGuard t -> TU n m
    |
176 | typeTickTU       :: (Term t, Monad m, Num n) => TypeGuard t -> TU n m
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/FlowTheme.hs:185:21: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        typeFilterTP :: (Term t, MonadPlus m) => TypeGuard t -> TP m
    |
185 | typeFilterTP     :: (Term t, MonadPlus m) => TypeGuard t -> TP m
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/FlowTheme.hs:190:21: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        typeFilterTU :: (Term t, MonadPlus m) => TypeGuard t -> TU t m
    |
190 | typeFilterTU     :: (Term t, MonadPlus m) => TypeGuard t -> TU t m
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[11 of 20] Compiling Data.Generics.Strafunski.StrategyLib.MetricsTheme ( Data/Generics/Strafunski/StrategyLib/MetricsTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/MetricsTheme.o )

Data/Generics/Strafunski/StrategyLib/MetricsTheme.hs:26:14: warning: [-Wtabs]
    Tab character found here, and in 34 further locations.
    Please use spaces instead.
   |
26 | type Metrics            =  MetricName -> Integer
   |              ^^^

Data/Generics/Strafunski/StrategyLib/MetricsTheme.hs:70:6: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term a’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        typeMetric :: (MonadPlus m, Term a) =>
                      TU Metrics m -> (MetricName, a -> ()) -> TU Metrics m
   |
70 |   :: (MonadPlus m, Term a)
   |      ^^^^^^^^^^^^^^^^^^^^^...
[12 of 20] Compiling Data.Generics.Strafunski.StrategyLib.EffectTheme ( Data/Generics/Strafunski/StrategyLib/EffectTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/EffectTheme.o )

Data/Generics/Strafunski/StrategyLib/EffectTheme.hs:14:1: warning: [-Wtabs]
    Tab character found here, and in 40 further locations.
    Please use spaces instead.
   |
14 |         -- * Replace one strategy monad by another
   | ^^^^^^^^
[13 of 20] Compiling Data.Generics.Strafunski.StrategyLib.ContainerTheme ( Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/ContainerTheme.o )

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:15:1: warning: [-Wtabs]
    Tab character found here, and in 107 further locations.
    Please use spaces instead.
   |
15 |         module Data.Generics.Strafunski.StrategyLib.ContainerTheme,
   | ^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:30:13: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        modifyTP :: (MonadPlus m, Eq t, Term t) => TP m -> t -> m t -> TP m
   |
30 | modifyTP :: (MonadPlus m, Eq t, Term t) => TP m -> t -> m t -> TP m
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:34:13: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        modifyTU :: (MonadPlus m, Eq t, Term t) =>
                    TU a m -> t -> m a -> TU a m
   |
34 | modifyTU :: (MonadPlus m, Eq t, Term t) => TU a m -> t -> m a -> TU a m
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:52:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        addGSet :: (Eq t, Term t) => t -> GSet -> GSet
   |
52 | addGSet         :: (Eq t, Term t) => t -> GSet -> GSet
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:56:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        removeGSet :: (Eq t, Term t) => t -> GSet -> GSet
   |
56 | removeGSet      :: (Eq t, Term t) => t -> GSet -> GSet
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:60:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        containsGSet :: (Eq t, Term t) => t -> GSet -> Bool
   |
60 | containsGSet    :: (Eq t, Term t) => t -> GSet -> Bool
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:74:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        removeGMap :: (Eq t, Term t) => t -> GMap v -> GMap v
   |
74 | removeGMap      :: (Eq t, Term t) => t -> GMap v -> GMap v
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:78:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        containsGMap :: (Eq t, Term t) => t -> GMap v -> Bool
   |
78 | containsGMap    :: (Eq t, Term t) => t -> GMap v -> Bool
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:82:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        putGMap :: (Eq t, Term t) => t -> v -> GMap v -> GMap v
   |
82 | putGMap         :: (Eq t, Term t) => t -> v -> GMap v -> GMap v
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:86:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        getGMap :: (Eq t, Term t) => t -> GMap v -> Maybe v
   |
86 | getGMap         :: (Eq t, Term t) => t -> GMap v -> Maybe v
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:101:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature: addGList :: Term t => t -> GList -> GList
    |
101 | addGList        :: Term t => t -> GList -> GList 
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:107:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        putGList :: Term t => Integer -> t -> GList -> GList
    |
107 | putGList        :: Term t => Integer -> t -> GList -> GList 
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:114:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        getGList :: Term t => Integer -> GList -> Maybe t
    |
114 | getGList        :: Term t => Integer -> GList -> Maybe t 
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:126:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        mapGListTU :: Term t =>
                      (t -> ()) -> TU a Maybe -> GList -> [Maybe a]
    |
126 | mapGListTU      :: Term t => (t -> ()) -> TU a Maybe -> GList -> [Maybe a]
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:133:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        elemsGList :: Term t => (t -> ()) -> GList -> [t]
    |
133 | elemsGList      :: Term t => (t -> ()) -> GList -> [t]
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:159:28: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term x’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        getCode :: Term x => Coder -> x -> Maybe Int
    |
159 | getCode                 :: Term x => Coder -> x -> Maybe Int
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:162:28: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term x’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        setCode :: (Term x, Eq x) => Coder -> x -> Int -> Coder
    |
162 | setCode                 :: (Term x, Eq x) => Coder -> x -> Int -> Coder
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/ContainerTheme.hs:168:28: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term x’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        enCode :: (Term x, Eq x) => Coder -> x -> Coder
    |
168 | enCode                  :: (Term x, Eq x) => Coder -> x -> Coder
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[14 of 20] Compiling Data.Generics.Strafunski.StrategyLib.TraversalTheme ( Data/Generics/Strafunski/StrategyLib/TraversalTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/TraversalTheme.o )

Data/Generics/Strafunski/StrategyLib/TraversalTheme.hs:34:10: warning: [-Wtabs]
    Tab character found here, and in 34 further locations.
    Please use spaces instead.
   |
34 | full_tdTP       :: Monad m => TP m -> TP m
   |          ^^^^^^^
[15 of 20] Compiling Data.Generics.Strafunski.StrategyLib.PathTheme ( Data/Generics/Strafunski/StrategyLib/PathTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/PathTheme.o )

Data/Generics/Strafunski/StrategyLib/PathTheme.hs:45:8: warning: [-Wtabs]
    Tab character found here, and in one further location.
    Please use spaces instead.
   |
45 | belowTP            :: MonadPlus m => TP m -> TU () m -> TP m
   |        ^
[16 of 20] Compiling Data.Generics.Strafunski.StrategyLib.NameTheme ( Data/Generics/Strafunski/StrategyLib/NameTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/NameTheme.o )

Data/Generics/Strafunski/StrategyLib/NameTheme.hs:27:14: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        freeNames :: (Eq name, Term t) =>
                     TU [(name, tpe)] Identity -> TU [name] Identity -> t -> [name]
   |
27 | freeNames :: (Eq name, Term t)
   |              ^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/NameTheme.hs:28:38: warning: [-Wtabs]
    Tab character found here, and in 25 further locations.
    Please use spaces instead.
   |
28 |           => TU [(name,tpe)] Identity   -- ^ Identify declarations
   |                                      ^^^

Data/Generics/Strafunski/StrategyLib/NameTheme.hs:41:19: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        freeTypedNames :: (Eq name, Term t) =>
                          TU [(name, tpe)] Identity
                          -> TU [name] Identity -> [(name, tpe)] -> t -> [(name, tpe)]
   |
41 | freeTypedNames :: (Eq name, Term t)
   |                   ^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/NameTheme.hs:57:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term f’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        boundTypedNames :: (Term f, Term t, Eq name) =>
                           TU [(name, tpe)] Identity
                           -> (f -> Maybe f) -> t -> Maybe ([(name, tpe)], f)
   |
57 | boundTypedNames :: (Term f, Term t, Eq name)
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/NameTheme.hs:57:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        boundTypedNames :: (Term f, Term t, Eq name) =>
                           TU [(name, tpe)] Identity
                           -> (f -> Maybe f) -> t -> Maybe ([(name, tpe)], f)
   |
57 | boundTypedNames :: (Term f, Term t, Eq name)
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^...
[17 of 20] Compiling Data.Generics.Strafunski.StrategyLib.KeyholeTheme ( Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/KeyholeTheme.o )

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:31:16: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term f’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        selectFocus :: (Term f, Term t) => (f -> Maybe f) -> t -> Maybe f
   |
31 | selectFocus :: (Term f, Term t)
   |                ^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:31:16: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        selectFocus :: (Term f, Term t) => (f -> Maybe f) -> t -> Maybe f
   |
31 | selectFocus :: (Term f, Term t)
   |                ^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:32:30: warning: [-Wtabs]
    Tab character found here, and in 40 further locations.
    Please use spaces instead.
   |
32 |             => (f -> Maybe f)   -- ^ Identify focus
   |                              ^^^

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:39:17: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        replaceFocus :: (Term t, Term t') =>
                        (t -> Maybe t) -> t' -> Maybe t'
   |
39 | replaceFocus :: (Term t, Term t') 
   |                 ^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:39:17: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t'’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        replaceFocus :: (Term t, Term t') =>
                        (t -> Maybe t) -> t' -> Maybe t'
   |
39 | replaceFocus :: (Term t, Term t') 
   |                 ^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:47:16: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term f’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        deleteFocus :: (Term f, Term [f], Term t) =>
                       (f -> Maybe f) -> t -> Maybe t
   |
47 | deleteFocus :: (Term f, Term [f], Term t)
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:47:16: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term [f]’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        deleteFocus :: (Term f, Term [f], Term t) =>
                       (f -> Maybe f) -> t -> Maybe t
   |
47 | deleteFocus :: (Term f, Term [f], Term t)
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:47:16: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        deleteFocus :: (Term f, Term [f], Term t) =>
                       (f -> Maybe f) -> t -> Maybe t
   |
47 | deleteFocus :: (Term f, Term [f], Term t)
   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:63:15: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term f’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        selectHost :: (Term f, Term h, Term t) =>
                      (f -> Maybe f) -> (h -> Maybe h) -> t -> Maybe h
   |
63 | selectHost :: (Term f, Term h, Term t)
   |               ^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:63:15: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term h’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        selectHost :: (Term f, Term h, Term t) =>
                      (f -> Maybe f) -> (h -> Maybe h) -> t -> Maybe h
   |
63 | selectHost :: (Term f, Term h, Term t)
   |               ^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:63:15: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        selectHost :: (Term f, Term h, Term t) =>
                      (f -> Maybe f) -> (h -> Maybe h) -> t -> Maybe h
   |
63 | selectHost :: (Term f, Term h, Term t)
   |               ^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:74:13: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term f’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        markHost :: (Term f, Term h, Term t) =>
                    (f -> Bool) -> (h -> h) -> t -> Maybe t
   |
74 | markHost :: (Term f, Term h, Term t)
   |             ^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:74:13: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term h’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        markHost :: (Term f, Term h, Term t) =>
                    (f -> Bool) -> (h -> h) -> t -> Maybe t
   |
74 | markHost :: (Term f, Term h, Term t)
   |             ^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:74:13: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term t’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        markHost :: (Term f, Term h, Term t) =>
                    (f -> Bool) -> (h -> h) -> t -> Maybe t
   |
74 | markHost :: (Term f, Term h, Term t)
   |             ^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:91:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term x’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature: listify :: (Term x, Term y) => x -> [y]
   |
91 | listify         :: (Term x, Term y) => x -> [y]
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:91:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term y’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature: listify :: (Term x, Term y) => x -> [y]
   |
91 | listify         :: (Term x, Term y) => x -> [y]
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:100:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term x’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature: strings :: Term x => x -> [String]
    |
100 | strings         :: Term x => x -> [String]
    |                    ^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:110:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term x’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        inj :: (MonadPlus m, Term x, Term c) => (c -> m c) -> (x -> m x)
    |
110 | inj             :: (MonadPlus m, Term x, Term c) => (c -> m c) -> (x -> m x)
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Generics/Strafunski/StrategyLib/KeyholeTheme.hs:110:20: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term c’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        inj :: (MonadPlus m, Term x, Term c) => (c -> m c) -> (x -> m x)
    |
110 | inj             :: (MonadPlus m, Term x, Term c) => (c -> m c) -> (x -> m x)
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[18 of 20] Compiling Data.Generics.Strafunski.StrategyLib.RefactoringTheme ( Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/RefactoringTheme.o )

Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs:27:1: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term abstr’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the context: (Term abstr, Eq name, Term [abstr], Term apply)
      While checking the super-classes of class ‘Abstraction’
      In the class declaration for ‘Abstraction’
   |
27 | class (
   | ^^^^^^^...

Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs:27:1: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term [abstr]’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the context: (Term abstr, Eq name, Term [abstr], Term apply)
      While checking the super-classes of class ‘Abstraction’
      In the class declaration for ‘Abstraction’
   |
27 | class (
   | ^^^^^^^...

Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs:27:1: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term apply’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the context: (Term abstr, Eq name, Term [abstr], Term apply)
      While checking the super-classes of class ‘Abstraction’
      In the class declaration for ‘Abstraction’
   |
27 | class (
   | ^^^^^^^...

Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs:29:19: warning: [-Wtabs]
    Tab character found here, and in 58 further locations.
    Please use spaces instead.
   |
29 |        Term abstr,      -- Term type for abstraction
   |                   ^^^^^^

Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs:62:14: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term prog’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        eliminate :: (Term prog, Abstraction abstr name tpe apply) =>
                     TU [(name, tpe)] Identity
                     -> TU [name] Identity
                        -> (abstr -> Maybe abstr) -> prog -> Maybe prog
   |
62 | eliminate :: (Term prog, Abstraction abstr name tpe apply)
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs:95:14: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term prog’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        introduce :: (Term prog, Abstraction abstr name tpe apply) =>
                     TU [(name, tpe)] Identity
                     -> TU [name] Identity
                        -> ([abstr] -> Maybe [abstr]) -> abstr -> prog -> Maybe prog
   |
95 | introduce :: (Term prog, Abstraction abstr name tpe apply)
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

Data/Generics/Strafunski/StrategyLib/RefactoringTheme.hs:118:12: warning: [-Wsimplifiable-class-constraints]
    • The constraint ‘Term prog’ matches
        instance (base-4.12.0.0:Data.Typeable.Internal.Typeable x,
                  Data.Data.Data x) =>
                 Term x
          -- Defined at Data/Generics/Strafunski/StrategyLib/Models/Deriving/TermRep.hs:15:10
      This makes type inference for inner bindings fragile;
        either use MonoLocalBinds, or simplify it using the instance
    • In the type signature:
        extract :: (Term prog, Abstraction abstr name tpe apply) =>
                   TU [(name, tpe)] Identity
                   -> TU [name] Identity
                      -> (apply -> Maybe apply)
                         -> ([abstr] -> [abstr])
                            -> ([abstr] -> Maybe [abstr])
                               -> ([(name, tpe)] -> apply -> Bool) -> name -> prog -> Maybe prog
    |
118 | extract :: (Term prog, Abstraction abstr name tpe apply)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
[19 of 20] Compiling Data.Generics.Strafunski.StrategyLib.FixpointTheme ( Data/Generics/Strafunski/StrategyLib/FixpointTheme.hs, dist/build/Data/Generics/Strafunski/StrategyLib/FixpointTheme.o )

Data/Generics/Strafunski/StrategyLib/FixpointTheme.hs:36:8: warning: [-Wtabs]
    Tab character found here, and in 8 further locations.
    Please use spaces instead.
   |
36 | reduce          :: MonadPlus m => TP m -> TP m
   |        ^
[20 of 20] Compiling Data.Generics.Strafunski.StrategyLib.StrategyLib ( Data/Generics/Strafunski/StrategyLib/StrategyLib.hs, dist/build/Data/Generics/Strafunski/StrategyLib/StrategyLib.o )
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ghc -clear-package-db -global-package-db -package-db=/home/circleci/project/builds/nightly/pkgdb Setup
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ./Setup copy
Installing library in /home/circleci/project/builds/nightly/lib/x86_64-linux-ghc-8.7.20181119/Strafunski-StrategyLib-5.0.1.0-G6iyNUAUYEYE6WBh2MmG7v
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ghc -clear-package-db -global-package-db -package-db=/home/circleci/project/builds/nightly/pkgdb Setup
> /tmp/stackage-build2451/Strafunski-StrategyLib-5.0.1.0$ ./Setup register
Registering library for Strafunski-StrategyLib-5.0.1.0..