@@ -1,7 +1,8 @@
1−diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs
1+diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
2+index ebb8a0b..7ed74ac 100644
2−--- hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2017-10-04 23:58:48.000000000 +0800
3+--- a/Control/Applicative/Backwards.hs
3−+++ ghc-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs 2001-09-09 09:46:40.000000000 +0800
4++++ b/Control/Applicative/Backwards.hs
4−@@ -27,6 +27,9 @@
5+@@ -27,6 +27,9 @@ module Control.Applicative.Backwards (
7 import Data.Functor.Classes
8 import Data.Functor.Classes
@@ -11,7 +12,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
12 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
13 import Control.Applicative
14 import Control.Applicative
14−@@ -100,3 +103,10 @@
15+@@ -100,3 +103,10 @@ instance (Traversable f) => Traversable (Backwards f) where
15 {-# INLINE traverse #-}
16 {-# INLINE traverse #-}
16 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 sequenceA (Backwards t) = fmap Backwards (sequenceA t)
17 {-# INLINE sequenceA #-}
18 {-# INLINE sequenceA #-}
@@ -22,10 +23,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Applicative/Backwards.hs g
22+ contramap f = Backwards . contramap f . forwards
23+ contramap f = Backwards . contramap f . forwards
23+ {-# INLINE contramap #-}
24+ {-# INLINE contramap #-}
25−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs
26+diff --git a/Control/Monad/Trans/Class.hs b/Control/Monad/Trans/Class.hs
27+index 9c2e260..b92bc0e 100644
26−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2017-10-04 23:58:48.000000000 +0800
28+--- a/Control/Monad/Trans/Class.hs
27−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs 2001-09-09 09:46:40.000000000 +0800
29++++ b/Control/Monad/Trans/Class.hs
28−@@ -113,7 +113,13 @@
30+@@ -113,7 +113,13 @@ an action that is strict in the component you want evaluated.
30 {- $example1
32 {- $example1
@@ -40,7 +42,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
40 to be parsed) to the @[]@ monad, which provides non-determinism:
42 to be parsed) to the @[]@ monad, which provides non-determinism:
42 > import Control.Monad.Trans.State
44 > import Control.Monad.Trans.State
43−@@ -189,7 +195,8 @@
45+@@ -189,7 +195,8 @@ Then the parser will keep track of how many @tick@s it executes.
44 {- $example3
46 {- $example3
46 This example is a cut-down version of the one in
48 This example is a cut-down version of the one in
@@ -50,10 +52,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Class.hs ghc-p
50 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
52 by Sheng Liang, Paul Hudak and Mark Jones in /POPL'95/
51 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
53 (<http://web.cecs.pdx.edu/~mpj/pubs/modinterp.html>).
53−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs
55+diff --git a/Control/Monad/Trans/Error.hs b/Control/Monad/Trans/Error.hs
56+index 144da45..f50b051 100644
54−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2017-10-04 23:58:48.000000000 +0800
57+--- a/Control/Monad/Trans/Error.hs
55−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs 2001-09-09 09:46:40.000000000 +0800
58++++ b/Control/Monad/Trans/Error.hs
56−@@ -58,6 +58,9 @@
59+@@ -58,6 +58,9 @@ import Control.Monad.IO.Class
57 import Control.Monad.Signatures
60 import Control.Monad.Signatures
58 import Control.Monad.Trans.Class
61 import Control.Monad.Trans.Class
59 import Data.Functor.Classes
62 import Data.Functor.Classes
@@ -63,7 +66,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
64 import Control.Applicative
67 import Control.Applicative
65 import Control.Exception (IOException)
68 import Control.Exception (IOException)
66−@@ -263,6 +266,11 @@
69+@@ -263,6 +266,11 @@ instance MonadTrans (ErrorT e) where
67 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
70 instance (Error e, MonadIO m) => MonadIO (ErrorT e m) where
68 liftIO = lift . liftIO
71 liftIO = lift . liftIO
@@ -75,9 +78,10 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Error.hs ghc-p
75 -- | Signal an error value @e@.
78 -- | Signal an error value @e@.
77 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
80 -- * @'runErrorT' ('throwError' e) = 'return' ('Left' e)@
78−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs
81+diff --git a/Control/Monad/Trans/Except.hs b/Control/Monad/Trans/Except.hs
82+index 6a06297..b5446e4 100644
79−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2017-10-04 23:58:48.000000000 +0800
83+--- a/Control/Monad/Trans/Except.hs
80−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs 2001-09-09 09:46:40.000000000 +0800
84++++ b/Control/Monad/Trans/Except.hs
81@@ -15,7 +15,7 @@
85@@ -15,7 +15,7 @@
82 -- Stability : experimental
86 -- Stability : experimental
83 -- Portability : portable
87 -- Portability : portable
@@ -87,7 +91,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
88 -- A sequence of actions terminates normally, producing a value,
92 -- A sequence of actions terminates normally, producing a value,
89 -- only if none of the actions in the sequence throws an exception.
93 -- only if none of the actions in the sequence throws an exception.
90−@@ -51,6 +51,9 @@
94+@@ -51,6 +51,9 @@ import Control.Monad.IO.Class
91 import Control.Monad.Signatures
95 import Control.Monad.Signatures
92 import Control.Monad.Trans.Class
96 import Control.Monad.Trans.Class
93 import Data.Functor.Classes
97 import Data.Functor.Classes
@@ -97,7 +101,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
97 import Data.Functor.Identity
101 import Data.Functor.Identity
99 import Control.Applicative
103 import Control.Applicative
100−@@ -255,6 +258,12 @@
104+@@ -255,6 +258,12 @@ instance (MonadZip m) => MonadZip (ExceptT e m) where
101 {-# INLINE mzipWith #-}
105 {-# INLINE mzipWith #-}
@@ -110,10 +114,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Except.hs ghc-
110 -- | Signal an exception value @e@.
114 -- | Signal an exception value @e@.
112 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
116 -- * @'runExceptT' ('throwE' e) = 'return' ('Left' e)@
113−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs
117+diff --git a/Control/Monad/Trans/Identity.hs b/Control/Monad/Trans/Identity.hs
118+index b04428e..81d0c21 100644
114−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2017-10-04 23:58:48.000000000 +0800
119+--- a/Control/Monad/Trans/Identity.hs
115−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs 2001-09-09 09:46:40.000000000 +0800
120++++ b/Control/Monad/Trans/Identity.hs
116−@@ -36,6 +36,9 @@
121+@@ -36,6 +36,9 @@ import Control.Monad.IO.Class (MonadIO(liftIO))
117 import Control.Monad.Signatures
122 import Control.Monad.Signatures
118 import Control.Monad.Trans.Class (MonadTrans(lift))
123 import Control.Monad.Trans.Class (MonadTrans(lift))
119 import Data.Functor.Classes
124 import Data.Functor.Classes
@@ -123,7 +128,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
124 import Control.Applicative
129 import Control.Applicative
125 import Control.Monad (MonadPlus(mzero, mplus))
130 import Control.Monad (MonadPlus(mzero, mplus))
126−@@ -154,6 +157,12 @@
131+@@ -154,6 +157,12 @@ instance MonadTrans IdentityT where
127 lift = IdentityT
132 lift = IdentityT
128 {-# INLINE lift #-}
133 {-# INLINE lift #-}
@@ -136,10 +141,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Identity.hs gh
136 -- | Lift a unary operation to the new monad.
141 -- | Lift a unary operation to the new monad.
137 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
142 mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
138 mapIdentityT f = IdentityT . f . runIdentityT
143 mapIdentityT f = IdentityT . f . runIdentityT
139−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs
144+diff --git a/Control/Monad/Trans/List.hs b/Control/Monad/Trans/List.hs
145+index e87fb0c..6af4b10 100644
140−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2017-10-04 23:58:48.000000000 +0800
146+--- a/Control/Monad/Trans/List.hs
141−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs 2001-09-09 09:46:40.000000000 +0800
147++++ b/Control/Monad/Trans/List.hs
142−@@ -34,12 +34,16 @@
148+@@ -34,12 +34,16 @@ import Control.Monad.IO.Class
143 import Control.Monad.Signatures
149 import Control.Monad.Signatures
144 import Control.Monad.Trans.Class
150 import Control.Monad.Trans.Class
145 import Data.Functor.Classes
151 import Data.Functor.Classes
@@ -156,7 +162,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
156 #if MIN_VERSION_base(4,4,0)
162 #if MIN_VERSION_base(4,4,0)
157 import Control.Monad.Zip (MonadZip(mzipWith))
163 import Control.Monad.Zip (MonadZip(mzipWith))
159−@@ -137,6 +141,12 @@
165+@@ -137,6 +141,12 @@ instance (Monad m) => MonadPlus (ListT m) where
160 return (a ++ b)
166 return (a ++ b)
161 {-# INLINE mplus #-}
167 {-# INLINE mplus #-}
@@ -169,7 +175,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
169 instance MonadTrans ListT where
175 instance MonadTrans ListT where
170 lift m = ListT $ do
176 lift m = ListT $ do
172−@@ -153,6 +163,12 @@
178+@@ -153,6 +163,12 @@ instance (MonadZip m) => MonadZip (ListT m) where
173 {-# INLINE mzipWith #-}
179 {-# INLINE mzipWith #-}
@@ -182,10 +188,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/List.hs ghc-pa
182 -- | Lift a @callCC@ operation to the new monad.
188 -- | Lift a @callCC@ operation to the new monad.
183 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
189 liftCallCC :: CallCC m [a] [b] -> CallCC (ListT m) a b
184 liftCallCC callCC f = ListT $
190 liftCallCC callCC f = ListT $
185−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs
191+diff --git a/Control/Monad/Trans/Maybe.hs b/Control/Monad/Trans/Maybe.hs
192+index 13114b1..997a4c0 100644
186−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2017-10-04 23:58:48.000000000 +0800
193+--- a/Control/Monad/Trans/Maybe.hs
187−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs 2001-09-09 09:46:40.000000000 +0800
194++++ b/Control/Monad/Trans/Maybe.hs
188−@@ -45,6 +45,9 @@
195+@@ -45,6 +45,9 @@ import Control.Monad.Signatures
189 import Control.Monad.Trans.Class
196 import Control.Monad.Trans.Class
190 import Control.Monad.Trans.Except (ExceptT(..))
197 import Control.Monad.Trans.Except (ExceptT(..))
191 import Data.Functor.Classes
198 import Data.Functor.Classes
@@ -195,7 +202,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
196 import Control.Applicative
203 import Control.Applicative
197 import Control.Monad (MonadPlus(mzero, mplus), liftM)
204 import Control.Monad (MonadPlus(mzero, mplus), liftM)
198−@@ -202,6 +205,12 @@
205+@@ -202,6 +205,12 @@ instance (MonadZip m) => MonadZip (MaybeT m) where
199 {-# INLINE mzipWith #-}
206 {-# INLINE mzipWith #-}
@@ -208,10 +215,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Maybe.hs ghc-p
208 -- | Lift a @callCC@ operation to the new monad.
215 -- | Lift a @callCC@ operation to the new monad.
209 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
216 liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b
210 liftCallCC callCC f =
217 liftCallCC callCC f =
211−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs
218+diff --git a/Control/Monad/Trans/RWS/Lazy.hs b/Control/Monad/Trans/RWS/Lazy.hs
219+index 36694c5..c366d5d 100644
212−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
220+--- a/Control/Monad/Trans/RWS/Lazy.hs
213−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
221++++ b/Control/Monad/Trans/RWS/Lazy.hs
214−@@ -63,6 +63,9 @@
222+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Lazy (
215 import Control.Monad.IO.Class
223 import Control.Monad.IO.Class
216 import Control.Monad.Signatures
224 import Control.Monad.Signatures
217 import Control.Monad.Trans.Class
225 import Control.Monad.Trans.Class
@@ -221,7 +229,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
221 import Data.Functor.Identity
229 import Data.Functor.Identity
223 import Control.Applicative
231 import Control.Applicative
224−@@ -231,6 +234,13 @@
232+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
225 liftIO = lift . liftIO
233 liftIO = lift . liftIO
226 {-# INLINE liftIO #-}
234 {-# INLINE liftIO #-}
@@ -235,10 +243,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Lazy.hs gh
235 -- ---------------------------------------------------------------------------
243 -- ---------------------------------------------------------------------------
236 -- Reader operations
244 -- Reader operations
238−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
246+diff --git a/Control/Monad/Trans/RWS/Strict.hs b/Control/Monad/Trans/RWS/Strict.hs
247+index 32f2af5..c5e3f6c 100644
239−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2017-10-04 23:58:48.000000000 +0800
248+--- a/Control/Monad/Trans/RWS/Strict.hs
240−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs 2001-09-09 09:46:40.000000000 +0800
249++++ b/Control/Monad/Trans/RWS/Strict.hs
241−@@ -63,6 +63,9 @@
250+@@ -63,6 +63,9 @@ module Control.Monad.Trans.RWS.Strict (
242 import Control.Monad.IO.Class
251 import Control.Monad.IO.Class
243 import Control.Monad.Signatures
252 import Control.Monad.Signatures
244 import Control.Monad.Trans.Class
253 import Control.Monad.Trans.Class
@@ -248,7 +257,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
248 import Data.Functor.Identity
257 import Data.Functor.Identity
250 import Control.Applicative
259 import Control.Applicative
251−@@ -231,6 +234,13 @@
260+@@ -231,6 +234,13 @@ instance (Monoid w, MonadIO m) => MonadIO (RWST r w s m) where
252 liftIO = lift . liftIO
261 liftIO = lift . liftIO
253 {-# INLINE liftIO #-}
262 {-# INLINE liftIO #-}
@@ -262,10 +271,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/RWS/Strict.hs
262 -- ---------------------------------------------------------------------------
271 -- ---------------------------------------------------------------------------
263 -- Reader operations
272 -- Reader operations
265−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs
274+diff --git a/Control/Monad/Trans/Reader.hs b/Control/Monad/Trans/Reader.hs
275+index b577b2d..f0b80f7 100644
266−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2017-10-04 23:58:48.000000000 +0800
276+--- a/Control/Monad/Trans/Reader.hs
267−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs 2001-09-09 09:46:40.000000000 +0800
277++++ b/Control/Monad/Trans/Reader.hs
268−@@ -49,6 +49,9 @@
278+@@ -49,6 +49,9 @@ module Control.Monad.Trans.Reader (
269 import Control.Monad.IO.Class
279 import Control.Monad.IO.Class
270 import Control.Monad.Signatures
280 import Control.Monad.Signatures
271 import Control.Monad.Trans.Class
281 import Control.Monad.Trans.Class
@@ -275,7 +285,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
275 import Data.Functor.Identity
285 import Data.Functor.Identity
277 import Control.Applicative
287 import Control.Applicative
278−@@ -207,6 +210,12 @@
288+@@ -207,6 +210,12 @@ instance (MonadZip m) => MonadZip (ReaderT r m) where
279 {-# INLINE mzipWith #-}
289 {-# INLINE mzipWith #-}
@@ -288,10 +298,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Reader.hs ghc-
288 liftReaderT :: m a -> ReaderT r m a
298 liftReaderT :: m a -> ReaderT r m a
289 liftReaderT m = ReaderT (const m)
299 liftReaderT m = ReaderT (const m)
290 {-# INLINE liftReaderT #-}
300 {-# INLINE liftReaderT #-}
291−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301+diff --git a/Control/Monad/Trans/State/Lazy.hs b/Control/Monad/Trans/State/Lazy.hs
302+index 13f61f4..e719f02 100644
292−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
303+--- a/Control/Monad/Trans/State/Lazy.hs
293−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
304++++ b/Control/Monad/Trans/State/Lazy.hs
294−@@ -76,6 +76,9 @@
305+@@ -76,6 +76,9 @@ module Control.Monad.Trans.State.Lazy (
295 import Control.Monad.IO.Class
306 import Control.Monad.IO.Class
296 import Control.Monad.Signatures
307 import Control.Monad.Signatures
297 import Control.Monad.Trans.Class
308 import Control.Monad.Trans.Class
@@ -301,7 +312,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
301 import Data.Functor.Identity
312 import Data.Functor.Identity
303 import Control.Applicative
314 import Control.Applicative
304−@@ -253,6 +256,13 @@
315+@@ -253,6 +256,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
305 liftIO = lift . liftIO
316 liftIO = lift . liftIO
306 {-# INLINE liftIO #-}
317 {-# INLINE liftIO #-}
@@ -315,10 +326,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Lazy.hs
315 -- | Fetch the current value of the state within the monad.
326 -- | Fetch the current value of the state within the monad.
316 get :: (Monad m) => StateT s m s
327 get :: (Monad m) => StateT s m s
317 get = state $ \ s -> (s, s)
328 get = state $ \ s -> (s, s)
318−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs
329+diff --git a/Control/Monad/Trans/State/Strict.hs b/Control/Monad/Trans/State/Strict.hs
330+index f1fb782..31fd52a 100644
319−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2017-10-04 23:58:48.000000000 +0800
331+--- a/Control/Monad/Trans/State/Strict.hs
320−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.hs 2001-09-09 09:46:40.000000000 +0800
332++++ b/Control/Monad/Trans/State/Strict.hs
321−@@ -73,6 +73,9 @@
333+@@ -73,6 +73,9 @@ module Control.Monad.Trans.State.Strict (
322 import Control.Monad.IO.Class
334 import Control.Monad.IO.Class
323 import Control.Monad.Signatures
335 import Control.Monad.Signatures
324 import Control.Monad.Trans.Class
336 import Control.Monad.Trans.Class
@@ -328,7 +340,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
328 import Data.Functor.Identity
340 import Data.Functor.Identity
330 import Control.Applicative
342 import Control.Applicative
331−@@ -250,6 +253,13 @@
343+@@ -250,6 +253,13 @@ instance (MonadIO m) => MonadIO (StateT s m) where
332 liftIO = lift . liftIO
344 liftIO = lift . liftIO
333 {-# INLINE liftIO #-}
345 {-# INLINE liftIO #-}
@@ -342,10 +354,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/State/Strict.h
342 -- | Fetch the current value of the state within the monad.
354 -- | Fetch the current value of the state within the monad.
343 get :: (Monad m) => StateT s m s
355 get :: (Monad m) => StateT s m s
344 get = state $ \ s -> (s, s)
356 get = state $ \ s -> (s, s)
345−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
357+diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/Control/Monad/Trans/Writer/Lazy.hs
358+index c7f689c..721e15c 100644
346−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2017-10-04 23:58:48.000000000 +0800
359+--- a/Control/Monad/Trans/Writer/Lazy.hs
347−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs 2001-09-09 09:46:40.000000000 +0800
360++++ b/Control/Monad/Trans/Writer/Lazy.hs
348−@@ -52,6 +52,9 @@
361+@@ -52,6 +52,9 @@ module Control.Monad.Trans.Writer.Lazy (
349 import Control.Monad.IO.Class
362 import Control.Monad.IO.Class
350 import Control.Monad.Trans.Class
363 import Control.Monad.Trans.Class
351 import Data.Functor.Classes
364 import Data.Functor.Classes
@@ -355,7 +368,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
355 import Data.Functor.Identity
368 import Data.Functor.Identity
357 import Control.Applicative
370 import Control.Applicative
358−@@ -237,6 +240,12 @@
371+@@ -237,6 +240,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
359 {-# INLINE mzipWith #-}
372 {-# INLINE mzipWith #-}
@@ -368,10 +381,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Lazy.hs
368 -- | @'tell' w@ is an action that produces the output @w@.
381 -- | @'tell' w@ is an action that produces the output @w@.
369 tell :: (Monad m) => w -> WriterT w m ()
382 tell :: (Monad m) => w -> WriterT w m ()
370 tell w = writer ((), w)
383 tell w = writer ((), w)
371−diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs
384+diff --git a/Control/Monad/Trans/Writer/Strict.hs b/Control/Monad/Trans/Writer/Strict.hs
385+index 33058af..b18b4a8 100644
372−--- hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2017-10-04 23:58:48.000000000 +0800
386+--- a/Control/Monad/Trans/Writer/Strict.hs
373−+++ ghc-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.hs 2001-09-09 09:46:40.000000000 +0800
387++++ b/Control/Monad/Trans/Writer/Strict.hs
374−@@ -55,6 +55,9 @@
388+@@ -55,6 +55,9 @@ module Control.Monad.Trans.Writer.Strict (
375 import Control.Monad.IO.Class
389 import Control.Monad.IO.Class
376 import Control.Monad.Trans.Class
390 import Control.Monad.Trans.Class
377 import Data.Functor.Classes
391 import Data.Functor.Classes
@@ -381,7 +395,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
381 import Data.Functor.Identity
395 import Data.Functor.Identity
383 import Control.Applicative
397 import Control.Applicative
384−@@ -240,6 +243,12 @@
398+@@ -240,6 +243,12 @@ instance (Monoid w, MonadZip m) => MonadZip (WriterT w m) where
385 {-# INLINE mzipWith #-}
399 {-# INLINE mzipWith #-}
@@ -394,10 +408,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Control/Monad/Trans/Writer/Strict.
394 -- | @'tell' w@ is an action that produces the output @w@.
408 -- | @'tell' w@ is an action that produces the output @w@.
395 tell :: (Monad m) => w -> WriterT w m ()
409 tell :: (Monad m) => w -> WriterT w m ()
396 tell w = writer ((), w)
410 tell w = writer ((), w)
397−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs
411+diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
412+index e22f0d6..9c0b8d4 100644
398−--- hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2017-10-04 23:58:48.000000000 +0800
413+--- a/Data/Functor/Constant.hs
399−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Constant.hs 2001-09-09 09:46:40.000000000 +0800
414++++ b/Data/Functor/Constant.hs
400−@@ -26,6 +26,9 @@
415+@@ -26,6 +26,9 @@ module Data.Functor.Constant (
403 import Data.Functor.Classes
418 import Data.Functor.Classes
@@ -407,7 +422,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
408 import Control.Applicative
423 import Control.Applicative
409 import Data.Foldable
424 import Data.Foldable
410−@@ -141,3 +144,9 @@
425+@@ -141,3 +144,9 @@ instance Bitraversable Constant where
411 bitraverse f _ (Constant a) = Constant <$> f a
426 bitraverse f _ (Constant a) = Constant <$> f a
412 {-# INLINE bitraverse #-}
427 {-# INLINE bitraverse #-}
@@ -417,10 +432,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Constant.hs ghc-packa
417+ contramap _ (Constant a) = Constant a
432+ contramap _ (Constant a) = Constant a
418+ {-# INLINE contramap #-}
433+ {-# INLINE contramap #-}
420−diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs
435+diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
436+index a6abc46..dcb6290 100644
421−--- hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2017-10-04 23:58:48.000000000 +0800
437+--- a/Data/Functor/Reverse.hs
422−+++ ghc-package-transformers-0.5.5.0/Data/Functor/Reverse.hs 2001-09-09 09:46:40.000000000 +0800
438++++ b/Data/Functor/Reverse.hs
423−@@ -28,6 +28,9 @@
439+@@ -28,6 +28,9 @@ module Data.Functor.Reverse (
425 import Control.Applicative.Backwards
441 import Control.Applicative.Backwards
426 import Data.Functor.Classes
442 import Data.Functor.Classes
@@ -430,7 +446,7 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
431 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
447 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
432 import Control.Applicative
448 import Control.Applicative
433−@@ -129,3 +132,10 @@
449+@@ -129,3 +132,10 @@ instance (Traversable f) => Traversable (Reverse f) where
434 traverse f (Reverse t) =
450 traverse f (Reverse t) =
435 fmap Reverse . forwards $ traverse (Backwards . f) t
451 fmap Reverse . forwards $ traverse (Backwards . f) t
436 {-# INLINE traverse #-}
452 {-# INLINE traverse #-}
@@ -441,10 +457,11 @@ diff -ur hackage-package-transformers-0.5.5.0/Data/Functor/Reverse.hs ghc-packag
441+ contramap f = Reverse . contramap f . getReverse
457+ contramap f = Reverse . contramap f . getReverse
442+ {-# INLINE contramap #-}
458+ {-# INLINE contramap #-}
444−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs
460+diff --git a/legacy/pre711/Data/Functor/Compose.hs b/legacy/pre711/Data/Functor/Compose.hs
461+index 161a2e9..ed78130 100644
445−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2017-10-04 23:58:48.000000000 +0800
462+--- a/legacy/pre711/Data/Functor/Compose.hs
446−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose.hs 2001-09-09 09:46:40.000000000 +0800
463++++ b/legacy/pre711/Data/Functor/Compose.hs
447−@@ -35,6 +35,9 @@
464+@@ -35,6 +35,9 @@ module Data.Functor.Compose (
450 import Data.Functor.Classes
467 import Data.Functor.Classes
@@ -454,7 +471,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
455 import Control.Applicative
472 import Control.Applicative
456 #if __GLASGOW_HASKELL__ >= 708
473 #if __GLASGOW_HASKELL__ >= 708
457−@@ -144,3 +147,8 @@
474+@@ -144,3 +147,8 @@ instance (Applicative f, Applicative g) => Applicative (Compose f g) where
458 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
475 instance (Alternative f, Applicative g) => Alternative (Compose f g) where
459 empty = Compose empty
476 empty = Compose empty
460 Compose x <|> Compose y = Compose (x <|> y)
477 Compose x <|> Compose y = Compose (x <|> y)
@@ -463,10 +480,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Compose
463+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
480+instance (Functor f, Contravariant g) => Contravariant (Compose f g) where
464+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
481+ contramap f (Compose fga) = Compose (fmap (contramap f) fga)
466−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs
483+diff --git a/legacy/pre711/Data/Functor/Product.hs b/legacy/pre711/Data/Functor/Product.hs
484+index 51c99a3..ba0dc04 100644
467−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2017-10-04 23:58:48.000000000 +0800
485+--- a/legacy/pre711/Data/Functor/Product.hs
468−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product.hs 2001-09-09 09:46:40.000000000 +0800
486++++ b/legacy/pre711/Data/Functor/Product.hs
469−@@ -45,6 +45,9 @@
487+@@ -45,6 +45,9 @@ import Data.Data
471 import Data.Foldable (Foldable(foldMap))
489 import Data.Foldable (Foldable(foldMap))
472 import Data.Functor.Classes
490 import Data.Functor.Classes
@@ -476,7 +494,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
476 import Data.Monoid (mappend)
494 import Data.Monoid (mappend)
477 import Data.Traversable (Traversable(traverse))
495 import Data.Traversable (Traversable(traverse))
478 #if __GLASGOW_HASKELL__ >= 702
496 #if __GLASGOW_HASKELL__ >= 702
479−@@ -146,3 +149,8 @@
497+@@ -146,3 +149,8 @@ instance (MonadFix f, MonadFix g) => MonadFix (Product f g) where
480 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
498 instance (MonadZip f, MonadZip g) => MonadZip (Product f g) where
481 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
499 mzipWith f (Pair x1 y1) (Pair x2 y2) = Pair (mzipWith f x1 x2) (mzipWith f y1 y2)
@@ -485,10 +503,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Product
485+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
503+instance (Contravariant f, Contravariant g) => Contravariant (Product f g) where
486+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
504+ contramap f (Pair a b) = Pair (contramap f a) (contramap f b)
488−diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
506+diff --git a/legacy/pre711/Data/Functor/Sum.hs b/legacy/pre711/Data/Functor/Sum.hs
507+index 9c314e7..e6d1428 100644
489−--- hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2017-10-04 23:58:48.000000000 +0800
508+--- a/legacy/pre711/Data/Functor/Sum.hs
490−+++ ghc-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs 2001-09-09 09:46:40.000000000 +0800
509++++ b/legacy/pre711/Data/Functor/Sum.hs
491−@@ -40,6 +40,9 @@
510+@@ -40,6 +40,9 @@ import Data.Data
493 import Data.Foldable (Foldable(foldMap))
512 import Data.Foldable (Foldable(foldMap))
494 import Data.Functor.Classes
513 import Data.Functor.Classes
@@ -498,7 +517,7 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
498 import Data.Monoid (mappend)
517 import Data.Monoid (mappend)
499 import Data.Traversable (Traversable(traverse))
518 import Data.Traversable (Traversable(traverse))
500 #if __GLASGOW_HASKELL__ >= 702
519 #if __GLASGOW_HASKELL__ >= 702
501−@@ -125,3 +128,9 @@
520+@@ -125,3 +128,9 @@ instance (Foldable f, Foldable g) => Foldable (Sum f g) where
502 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
521 instance (Traversable f, Traversable g) => Traversable (Sum f g) where
503 traverse f (InL x) = InL <$> traverse f x
522 traverse f (InL x) = InL <$> traverse f x
504 traverse f (InR y) = InR <$> traverse f y
523 traverse f (InR y) = InR <$> traverse f y
@@ -508,10 +527,11 @@ diff -ur hackage-package-transformers-0.5.5.0/legacy/pre711/Data/Functor/Sum.hs
508+ contramap f (InL xs) = InL (contramap f xs)
527+ contramap f (InL xs) = InL (contramap f xs)
509+ contramap f (InR ys) = InR (contramap f ys)
528+ contramap f (InR ys) = InR (contramap f ys)
511−diff -ur hackage-package-transformers-0.5.5.0/transformers.cabal ghc-package-transformers-0.5.5.0/transformers.cabal
530+diff --git a/transformers.cabal b/transformers.cabal
512−--- hackage-package-transformers-0.5.5.0/transformers.cabal 2017-10-04 23:58:48.000000000 +0800
531+index 8583b12..b2e4fea 100644
513−+++ ghc-package-transformers-0.5.5.0/transformers.cabal 2001-09-09 09:46:40.000000000 +0800
532+--- a/transformers.cabal
514−@@ -9,7 +9,9 @@
533++++ b/transformers.cabal
534+@@ -9,7 +9,9 @@ category: Control
515 synopsis: Concrete functor and monad transformers
535 synopsis: Concrete functor and monad transformers
516 description:
536 description:
517 A portable library of functor and monad transformers, inspired by
537 A portable library of functor and monad transformers, inspired by