Wolfgang Jeltsch pushed to branch wip/jeltsch/control-monad-zip-to-base at Glasgow Haskell Compiler / GHC

Commits:

7 changed files:

Changes:

  • libraries/base/src/Control/Monad/Zip.hs
    ... ... @@ -18,4 +18,127 @@
    18 18
     
    
    19 19
     module Control.Monad.Zip ( MonadZip(..) ) where
    
    20 20
     
    
    21
    -import GHC.Internal.Control.Monad.Zip(MonadZip(..))
    21
    +import GHC.Internal.Control.Monad (liftM, liftM2, Monad(..))
    
    22
    +import GHC.Internal.Data.Functor.Identity
    
    23
    +import qualified GHC.Internal.Data.Functor
    
    24
    +import GHC.Internal.Data.Monoid
    
    25
    +import GHC.Internal.Data.NonEmpty ( NonEmpty(..) )
    
    26
    +import GHC.Internal.Data.Ord ( Down(..) )
    
    27
    +import GHC.Internal.Data.Proxy
    
    28
    +--import qualified Data.List.NonEmpty as NE
    
    29
    +import GHC.Internal.Generics
    
    30
    +import qualified GHC.Internal.Data.List.NonEmpty as NE
    
    31
    +import qualified GHC.Internal.Data.List as List
    
    32
    +import GHC.Internal.Data.Maybe
    
    33
    +import GHC.Internal.Data.Tuple
    
    34
    +--import Prelude
    
    35
    +
    
    36
    +-- | Instances should satisfy the laws:
    
    37
    +--
    
    38
    +-- [Naturality]
    
    39
    +--
    
    40
    +--     @'liftM' (f 'Control.Arrow.***' g) ('mzip' ma mb)
    
    41
    +--         = 'mzip' ('liftM' f ma) ('liftM' g mb)@
    
    42
    +--
    
    43
    +-- [Information Preservation]
    
    44
    +--
    
    45
    +--     @'liftM' ('Prelude.const' ()) ma = 'liftM' ('Prelude.const' ()) mb@
    
    46
    +--         implies
    
    47
    +--     @'munzip' ('mzip' ma mb) = (ma, mb)@
    
    48
    +--
    
    49
    +class Monad m => MonadZip m where
    
    50
    +    {-# MINIMAL mzip | mzipWith #-}
    
    51
    +
    
    52
    +    mzip :: m a -> m b -> m (a,b)
    
    53
    +    mzip = mzipWith (,)
    
    54
    +
    
    55
    +    mzipWith :: (a -> b -> c) -> m a -> m b -> m c
    
    56
    +    mzipWith f ma mb = liftM (uncurry f) (mzip ma mb)
    
    57
    +
    
    58
    +    munzip :: m (a,b) -> (m a, m b)
    
    59
    +    munzip mab = (liftM fst mab, liftM snd mab)
    
    60
    +    -- munzip is a member of the class because sometimes
    
    61
    +    -- you can implement it more efficiently than the
    
    62
    +    -- above default code.  See #4370 comment by giorgidze
    
    63
    +
    
    64
    +-- | @since 4.3.1.0
    
    65
    +instance MonadZip [] where
    
    66
    +    mzip     = List.zip
    
    67
    +    mzipWith = List.zipWith
    
    68
    +    munzip   = List.unzip
    
    69
    +
    
    70
    +-- | @since 4.9.0.0
    
    71
    +instance MonadZip NonEmpty where
    
    72
    +  mzip     = NE.zip
    
    73
    +  mzipWith = NE.zipWith
    
    74
    +  munzip   = GHC.Internal.Data.Functor.unzip
    
    75
    +
    
    76
    +-- | @since 4.8.0.0
    
    77
    +instance MonadZip Identity where
    
    78
    +    mzipWith                 = liftM2
    
    79
    +    munzip (Identity (a, b)) = (Identity a, Identity b)
    
    80
    +
    
    81
    +-- | @since 4.15.0.0
    
    82
    +instance MonadZip Solo where
    
    83
    +    mzipWith = liftM2
    
    84
    +    munzip (MkSolo (a, b)) = (MkSolo a, MkSolo b)
    
    85
    +
    
    86
    +-- | @since 4.8.0.0
    
    87
    +instance MonadZip Dual where
    
    88
    +    -- Cannot use coerce, it's unsafe
    
    89
    +    mzipWith = liftM2
    
    90
    +
    
    91
    +-- | @since 4.8.0.0
    
    92
    +instance MonadZip Sum where
    
    93
    +    mzipWith = liftM2
    
    94
    +
    
    95
    +-- | @since 4.8.0.0
    
    96
    +instance MonadZip Product where
    
    97
    +    mzipWith = liftM2
    
    98
    +
    
    99
    +-- | @since 4.8.0.0
    
    100
    +instance MonadZip Maybe where
    
    101
    +    mzipWith = liftM2
    
    102
    +
    
    103
    +-- | @since 4.8.0.0
    
    104
    +instance MonadZip First where
    
    105
    +    mzipWith = liftM2
    
    106
    +
    
    107
    +-- | @since 4.8.0.0
    
    108
    +instance MonadZip Last where
    
    109
    +    mzipWith = liftM2
    
    110
    +
    
    111
    +-- | @since 4.8.0.0
    
    112
    +instance MonadZip f => MonadZip (Alt f) where
    
    113
    +    mzipWith f (Alt ma) (Alt mb) = Alt (mzipWith f ma mb)
    
    114
    +
    
    115
    +-- | @since 4.9.0.0
    
    116
    +instance MonadZip Proxy where
    
    117
    +    mzipWith _ _ _ = Proxy
    
    118
    +
    
    119
    +-- Instances for GHC.Generics
    
    120
    +-- | @since 4.9.0.0
    
    121
    +instance MonadZip U1 where
    
    122
    +    mzipWith _ _ _ = U1
    
    123
    +
    
    124
    +-- | @since 4.9.0.0
    
    125
    +instance MonadZip Par1 where
    
    126
    +    mzipWith = liftM2
    
    127
    +
    
    128
    +-- | @since 4.9.0.0
    
    129
    +instance MonadZip f => MonadZip (Rec1 f) where
    
    130
    +    mzipWith f (Rec1 fa) (Rec1 fb) = Rec1 (mzipWith f fa fb)
    
    131
    +
    
    132
    +-- | @since 4.9.0.0
    
    133
    +instance MonadZip f => MonadZip (M1 i c f) where
    
    134
    +    mzipWith f (M1 fa) (M1 fb) = M1 (mzipWith f fa fb)
    
    135
    +
    
    136
    +-- | @since 4.9.0.0
    
    137
    +instance (MonadZip f, MonadZip g) => MonadZip (f :*: g) where
    
    138
    +    mzipWith f (x1 :*: y1) (x2 :*: y2) = mzipWith f x1 x2 :*: mzipWith f y1 y2
    
    139
    +
    
    140
    +-- instances for GHC.Internal.Data.Ord
    
    141
    +
    
    142
    +-- | @since 4.12.0.0
    
    143
    +instance MonadZip Down where
    
    144
    +    mzipWith = liftM2

  • libraries/ghc-internal/ghc-internal.cabal.in
    ... ... @@ -135,7 +135,6 @@ Library
    135 135
             GHC.Internal.Control.Monad.Fix
    
    136 136
             GHC.Internal.Control.Monad.IO.Class
    
    137 137
             GHC.Internal.Control.Monad.ST
    
    138
    -        GHC.Internal.Control.Monad.Zip
    
    139 138
             GHC.Internal.Control.Monad.ST.Lazy
    
    140 139
             GHC.Internal.Control.Monad.ST.Imp
    
    141 140
             GHC.Internal.Control.Monad.ST.Lazy.Imp
    

  • libraries/ghc-internal/src/GHC/Internal/Control/Monad/Zip.hs deleted
    1
    -{-# LANGUAGE Trustworthy #-}
    
    2
    -{-# LANGUAGE TypeOperators #-}
    
    3
    -
    
    4
    ------------------------------------------------------------------------------
    
    5
    --- |
    
    6
    --- Module      :  Control.Monad.Zip
    
    7
    --- Copyright   :  (c) Nils Schweinsberg 2011,
    
    8
    ---                (c) George Giorgidze 2011
    
    9
    ---                (c) University Tuebingen 2011
    
    10
    --- License     :  BSD-style (see the file libraries/base/LICENSE)
    
    11
    --- Maintainer  :  libraries@haskell.org
    
    12
    --- Stability   :  stable
    
    13
    --- Portability :  portable
    
    14
    ---
    
    15
    --- Monadic zipping (used for monad comprehensions)
    
    16
    ---
    
    17
    ------------------------------------------------------------------------------
    
    18
    -
    
    19
    -module GHC.Internal.Control.Monad.Zip ( MonadZip(..) ) where
    
    20
    -
    
    21
    -import GHC.Internal.Control.Monad (liftM, liftM2, Monad(..))
    
    22
    -import GHC.Internal.Data.Functor.Identity
    
    23
    -import qualified GHC.Internal.Data.Functor
    
    24
    -import GHC.Internal.Data.Monoid
    
    25
    -import GHC.Internal.Data.NonEmpty ( NonEmpty(..) )
    
    26
    -import GHC.Internal.Data.Ord ( Down(..) )
    
    27
    -import GHC.Internal.Data.Proxy
    
    28
    ---import qualified Data.List.NonEmpty as NE
    
    29
    -import GHC.Internal.Generics
    
    30
    -import qualified GHC.Internal.Data.List.NonEmpty as NE
    
    31
    -import qualified GHC.Internal.Data.List as List
    
    32
    -import GHC.Internal.Data.Maybe
    
    33
    -import GHC.Internal.Data.Tuple
    
    34
    ---import Prelude
    
    35
    -
    
    36
    --- | Instances should satisfy the laws:
    
    37
    ---
    
    38
    --- [Naturality]
    
    39
    ---
    
    40
    ---     @'liftM' (f 'Control.Arrow.***' g) ('mzip' ma mb)
    
    41
    ---         = 'mzip' ('liftM' f ma) ('liftM' g mb)@
    
    42
    ---
    
    43
    --- [Information Preservation]
    
    44
    ---
    
    45
    ---     @'liftM' ('Prelude.const' ()) ma = 'liftM' ('Prelude.const' ()) mb@
    
    46
    ---         implies
    
    47
    ---     @'munzip' ('mzip' ma mb) = (ma, mb)@
    
    48
    ---
    
    49
    -class Monad m => MonadZip m where
    
    50
    -    {-# MINIMAL mzip | mzipWith #-}
    
    51
    -
    
    52
    -    mzip :: m a -> m b -> m (a,b)
    
    53
    -    mzip = mzipWith (,)
    
    54
    -
    
    55
    -    mzipWith :: (a -> b -> c) -> m a -> m b -> m c
    
    56
    -    mzipWith f ma mb = liftM (uncurry f) (mzip ma mb)
    
    57
    -
    
    58
    -    munzip :: m (a,b) -> (m a, m b)
    
    59
    -    munzip mab = (liftM fst mab, liftM snd mab)
    
    60
    -    -- munzip is a member of the class because sometimes
    
    61
    -    -- you can implement it more efficiently than the
    
    62
    -    -- above default code.  See #4370 comment by giorgidze
    
    63
    -
    
    64
    --- | @since 4.3.1.0
    
    65
    -instance MonadZip [] where
    
    66
    -    mzip     = List.zip
    
    67
    -    mzipWith = List.zipWith
    
    68
    -    munzip   = List.unzip
    
    69
    -
    
    70
    --- | @since 4.9.0.0
    
    71
    -instance MonadZip NonEmpty where
    
    72
    -  mzip     = NE.zip
    
    73
    -  mzipWith = NE.zipWith
    
    74
    -  munzip   = GHC.Internal.Data.Functor.unzip
    
    75
    -
    
    76
    --- | @since 4.8.0.0
    
    77
    -instance MonadZip Identity where
    
    78
    -    mzipWith                 = liftM2
    
    79
    -    munzip (Identity (a, b)) = (Identity a, Identity b)
    
    80
    -
    
    81
    --- | @since 4.15.0.0
    
    82
    -instance MonadZip Solo where
    
    83
    -    mzipWith = liftM2
    
    84
    -    munzip (MkSolo (a, b)) = (MkSolo a, MkSolo b)
    
    85
    -
    
    86
    --- | @since 4.8.0.0
    
    87
    -instance MonadZip Dual where
    
    88
    -    -- Cannot use coerce, it's unsafe
    
    89
    -    mzipWith = liftM2
    
    90
    -
    
    91
    --- | @since 4.8.0.0
    
    92
    -instance MonadZip Sum where
    
    93
    -    mzipWith = liftM2
    
    94
    -
    
    95
    --- | @since 4.8.0.0
    
    96
    -instance MonadZip Product where
    
    97
    -    mzipWith = liftM2
    
    98
    -
    
    99
    --- | @since 4.8.0.0
    
    100
    -instance MonadZip Maybe where
    
    101
    -    mzipWith = liftM2
    
    102
    -
    
    103
    --- | @since 4.8.0.0
    
    104
    -instance MonadZip First where
    
    105
    -    mzipWith = liftM2
    
    106
    -
    
    107
    --- | @since 4.8.0.0
    
    108
    -instance MonadZip Last where
    
    109
    -    mzipWith = liftM2
    
    110
    -
    
    111
    --- | @since 4.8.0.0
    
    112
    -instance MonadZip f => MonadZip (Alt f) where
    
    113
    -    mzipWith f (Alt ma) (Alt mb) = Alt (mzipWith f ma mb)
    
    114
    -
    
    115
    --- | @since 4.9.0.0
    
    116
    -instance MonadZip Proxy where
    
    117
    -    mzipWith _ _ _ = Proxy
    
    118
    -
    
    119
    --- Instances for GHC.Generics
    
    120
    --- | @since 4.9.0.0
    
    121
    -instance MonadZip U1 where
    
    122
    -    mzipWith _ _ _ = U1
    
    123
    -
    
    124
    --- | @since 4.9.0.0
    
    125
    -instance MonadZip Par1 where
    
    126
    -    mzipWith = liftM2
    
    127
    -
    
    128
    --- | @since 4.9.0.0
    
    129
    -instance MonadZip f => MonadZip (Rec1 f) where
    
    130
    -    mzipWith f (Rec1 fa) (Rec1 fb) = Rec1 (mzipWith f fa fb)
    
    131
    -
    
    132
    --- | @since 4.9.0.0
    
    133
    -instance MonadZip f => MonadZip (M1 i c f) where
    
    134
    -    mzipWith f (M1 fa) (M1 fb) = M1 (mzipWith f fa fb)
    
    135
    -
    
    136
    --- | @since 4.9.0.0
    
    137
    -instance (MonadZip f, MonadZip g) => MonadZip (f :*: g) where
    
    138
    -    mzipWith f (x1 :*: y1) (x2 :*: y2) = mzipWith f x1 x2 :*: mzipWith f y1 y2
    
    139
    -
    
    140
    --- instances for GHC.Internal.Data.Ord
    
    141
    -
    
    142
    --- | @since 4.12.0.0
    
    143
    -instance MonadZip Down where
    
    144
    -    mzipWith = liftM2

  • testsuite/tests/interface-stability/base-exports.stdout
    ... ... @@ -10532,6 +10532,26 @@ module Unsafe.Coerce where
    10532 10532
     
    
    10533 10533
     
    
    10534 10534
     -- Instances:
    
    10535
    +instance forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘Control.Monad.Zip’
    
    10536
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘Control.Monad.Zip’
    
    10537
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘Control.Monad.Zip’
    
    10538
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘Control.Monad.Zip’
    
    10539
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘Control.Monad.Zip’
    
    10540
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘Control.Monad.Zip’
    
    10541
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘Control.Monad.Zip’
    
    10542
    +instance Control.Monad.Zip.MonadZip [] -- Defined in ‘Control.Monad.Zip’
    
    10543
    +instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘Control.Monad.Zip’
    
    10544
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘Control.Monad.Zip’
    
    10545
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘Control.Monad.Zip’
    
    10546
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘Control.Monad.Zip’
    
    10547
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘Control.Monad.Zip’
    
    10548
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘Control.Monad.Zip’
    
    10549
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘Control.Monad.Zip’
    
    10550
    +instance Control.Monad.Zip.MonadZip Solo -- Defined in ‘Control.Monad.Zip’
    
    10551
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘Control.Monad.Zip’
    
    10552
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘Control.Monad.Zip’
    
    10553
    +instance Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    10554
    +instance [safe] forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    10535 10555
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Functor.Const.Const -- Defined in ‘Data.Bifoldable’
    
    10536 10556
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Either.Either -- Defined in ‘Data.Bifoldable’
    
    10537 10557
     instance [safe] forall i. Data.Bifoldable.Bifoldable (GHC.Internal.Generics.K1 i) -- Defined in ‘Data.Bifoldable’
    
    ... ... @@ -11574,26 +11594,6 @@ instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Last -- Defined
    11574 11594
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
    
    11575 11595
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
    
    11576 11596
     instance GHC.Internal.Control.Monad.IO.Class.MonadIO GHC.Internal.Types.IO -- Defined in ‘GHC.Internal.Control.Monad.IO.Class’
    
    11577
    -instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11578
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11579
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11580
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11581
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11582
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11583
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11584
    -instance GHC.Internal.Control.Monad.Zip.MonadZip [] -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11585
    -instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11586
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11587
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11588
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11589
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11590
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11591
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11592
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Solo -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11593
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11594
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11595
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    11596
    -instance [safe] forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    11597 11597
     instance forall (a :: * -> * -> *) b c. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable b, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable c, GHC.Internal.Data.Data.Data (a b c)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedArrow a b c) -- Defined in ‘Control.Applicative’
    
    11598 11598
     instance forall (m :: * -> *) a. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable m, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, GHC.Internal.Data.Data.Data (m a)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedMonad m a) -- Defined in ‘Control.Applicative’
    
    11599 11599
     instance GHC.Internal.Data.Data.Data Data.Array.Byte.ByteArray -- Defined in ‘Data.Array.Byte’
    

  • testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs
    ... ... @@ -10570,6 +10570,26 @@ module Unsafe.Coerce where
    10570 10570
     
    
    10571 10571
     
    
    10572 10572
     -- Instances:
    
    10573
    +instance forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘Control.Monad.Zip’
    
    10574
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘Control.Monad.Zip’
    
    10575
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘Control.Monad.Zip’
    
    10576
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘Control.Monad.Zip’
    
    10577
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘Control.Monad.Zip’
    
    10578
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘Control.Monad.Zip’
    
    10579
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘Control.Monad.Zip’
    
    10580
    +instance Control.Monad.Zip.MonadZip [] -- Defined in ‘Control.Monad.Zip’
    
    10581
    +instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘Control.Monad.Zip’
    
    10582
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘Control.Monad.Zip’
    
    10583
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘Control.Monad.Zip’
    
    10584
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘Control.Monad.Zip’
    
    10585
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘Control.Monad.Zip’
    
    10586
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘Control.Monad.Zip’
    
    10587
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘Control.Monad.Zip’
    
    10588
    +instance Control.Monad.Zip.MonadZip Solo -- Defined in ‘Control.Monad.Zip’
    
    10589
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘Control.Monad.Zip’
    
    10590
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘Control.Monad.Zip’
    
    10591
    +instance Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    10592
    +instance [safe] forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    10573 10593
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Functor.Const.Const -- Defined in ‘Data.Bifoldable’
    
    10574 10594
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Either.Either -- Defined in ‘Data.Bifoldable’
    
    10575 10595
     instance [safe] forall i. Data.Bifoldable.Bifoldable (GHC.Internal.Generics.K1 i) -- Defined in ‘Data.Bifoldable’
    
    ... ... @@ -11601,26 +11621,6 @@ instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Last -- Defined
    11601 11621
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
    
    11602 11622
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
    
    11603 11623
     instance GHC.Internal.Control.Monad.IO.Class.MonadIO GHC.Internal.Types.IO -- Defined in ‘GHC.Internal.Control.Monad.IO.Class’
    
    11604
    -instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11605
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11606
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11607
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11608
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11609
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11610
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11611
    -instance GHC.Internal.Control.Monad.Zip.MonadZip [] -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11612
    -instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11613
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11614
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11615
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11616
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11617
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11618
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11619
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Solo -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11620
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11621
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11622
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    11623
    -instance [safe] forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    11624 11624
     instance forall (a :: * -> * -> *) b c. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable b, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable c, GHC.Internal.Data.Data.Data (a b c)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedArrow a b c) -- Defined in ‘Control.Applicative’
    
    11625 11625
     instance forall (m :: * -> *) a. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable m, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, GHC.Internal.Data.Data.Data (m a)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedMonad m a) -- Defined in ‘Control.Applicative’
    
    11626 11626
     instance GHC.Internal.Data.Data.Data Data.Array.Byte.ByteArray -- Defined in ‘Data.Array.Byte’
    

  • testsuite/tests/interface-stability/base-exports.stdout-mingw32
    ... ... @@ -10794,6 +10794,26 @@ module Unsafe.Coerce where
    10794 10794
     
    
    10795 10795
     
    
    10796 10796
     -- Instances:
    
    10797
    +instance forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘Control.Monad.Zip’
    
    10798
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘Control.Monad.Zip’
    
    10799
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘Control.Monad.Zip’
    
    10800
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘Control.Monad.Zip’
    
    10801
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘Control.Monad.Zip’
    
    10802
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘Control.Monad.Zip’
    
    10803
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘Control.Monad.Zip’
    
    10804
    +instance Control.Monad.Zip.MonadZip [] -- Defined in ‘Control.Monad.Zip’
    
    10805
    +instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘Control.Monad.Zip’
    
    10806
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘Control.Monad.Zip’
    
    10807
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘Control.Monad.Zip’
    
    10808
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘Control.Monad.Zip’
    
    10809
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘Control.Monad.Zip’
    
    10810
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘Control.Monad.Zip’
    
    10811
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘Control.Monad.Zip’
    
    10812
    +instance Control.Monad.Zip.MonadZip Solo -- Defined in ‘Control.Monad.Zip’
    
    10813
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘Control.Monad.Zip’
    
    10814
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘Control.Monad.Zip’
    
    10815
    +instance Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    10816
    +instance [safe] forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    10797 10817
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Functor.Const.Const -- Defined in ‘Data.Bifoldable’
    
    10798 10818
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Either.Either -- Defined in ‘Data.Bifoldable’
    
    10799 10819
     instance [safe] forall i. Data.Bifoldable.Bifoldable (GHC.Internal.Generics.K1 i) -- Defined in ‘Data.Bifoldable’
    
    ... ... @@ -11832,26 +11852,6 @@ instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Last -- Defined
    11832 11852
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
    
    11833 11853
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
    
    11834 11854
     instance GHC.Internal.Control.Monad.IO.Class.MonadIO GHC.Internal.Types.IO -- Defined in ‘GHC.Internal.Control.Monad.IO.Class’
    
    11835
    -instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11836
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11837
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11838
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11839
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11840
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11841
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11842
    -instance GHC.Internal.Control.Monad.Zip.MonadZip [] -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11843
    -instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11844
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11845
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11846
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11847
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11848
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11849
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11850
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Solo -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11851
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11852
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11853
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    11854
    -instance [safe] forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    11855 11855
     instance forall (a :: * -> * -> *) b c. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable b, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable c, GHC.Internal.Data.Data.Data (a b c)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedArrow a b c) -- Defined in ‘Control.Applicative’
    
    11856 11856
     instance forall (m :: * -> *) a. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable m, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, GHC.Internal.Data.Data.Data (m a)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedMonad m a) -- Defined in ‘Control.Applicative’
    
    11857 11857
     instance GHC.Internal.Data.Data.Data Data.Array.Byte.ByteArray -- Defined in ‘Data.Array.Byte’
    

  • testsuite/tests/interface-stability/base-exports.stdout-ws-32
    ... ... @@ -10532,6 +10532,26 @@ module Unsafe.Coerce where
    10532 10532
     
    
    10533 10533
     
    
    10534 10534
     -- Instances:
    
    10535
    +instance forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘Control.Monad.Zip’
    
    10536
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘Control.Monad.Zip’
    
    10537
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘Control.Monad.Zip’
    
    10538
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘Control.Monad.Zip’
    
    10539
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘Control.Monad.Zip’
    
    10540
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘Control.Monad.Zip’
    
    10541
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘Control.Monad.Zip’
    
    10542
    +instance Control.Monad.Zip.MonadZip [] -- Defined in ‘Control.Monad.Zip’
    
    10543
    +instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘Control.Monad.Zip’
    
    10544
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘Control.Monad.Zip’
    
    10545
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘Control.Monad.Zip’
    
    10546
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘Control.Monad.Zip’
    
    10547
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘Control.Monad.Zip’
    
    10548
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘Control.Monad.Zip’
    
    10549
    +instance forall (f :: * -> *). Control.Monad.Zip.MonadZip f => Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘Control.Monad.Zip’
    
    10550
    +instance Control.Monad.Zip.MonadZip Solo -- Defined in ‘Control.Monad.Zip’
    
    10551
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘Control.Monad.Zip’
    
    10552
    +instance Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘Control.Monad.Zip’
    
    10553
    +instance Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    10554
    +instance [safe] forall (f :: * -> *) (g :: * -> *). (Control.Monad.Zip.MonadZip f, Control.Monad.Zip.MonadZip g) => Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    10535 10555
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Functor.Const.Const -- Defined in ‘Data.Bifoldable’
    
    10536 10556
     instance [safe] Data.Bifoldable.Bifoldable GHC.Internal.Data.Either.Either -- Defined in ‘Data.Bifoldable’
    
    10537 10557
     instance [safe] forall i. Data.Bifoldable.Bifoldable (GHC.Internal.Generics.K1 i) -- Defined in ‘Data.Bifoldable’
    
    ... ... @@ -11574,26 +11594,6 @@ instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Last -- Defined
    11574 11594
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Max -- Defined in ‘Data.Semigroup’
    
    11575 11595
     instance GHC.Internal.Control.Monad.Fix.MonadFix Data.Semigroup.Min -- Defined in ‘Data.Semigroup’
    
    11576 11596
     instance GHC.Internal.Control.Monad.IO.Class.MonadIO GHC.Internal.Types.IO -- Defined in ‘GHC.Internal.Control.Monad.IO.Class’
    
    11577
    -instance forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (f GHC.Internal.Generics.:*: g) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11578
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Data.Semigroup.Internal.Alt f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11579
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Ord.Down -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11580
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Dual -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11581
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.First -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11582
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Functor.Identity.Identity -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11583
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Monoid.Last -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11584
    -instance GHC.Internal.Control.Monad.Zip.MonadZip [] -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11585
    -instance forall (f :: * -> *) i (c :: GHC.Internal.Generics.Meta). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.M1 i c f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11586
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Maybe.Maybe -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11587
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Base.NonEmpty -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11588
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.Par1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11589
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Product -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11590
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Proxy.Proxy -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11591
    -instance forall (f :: * -> *). GHC.Internal.Control.Monad.Zip.MonadZip f => GHC.Internal.Control.Monad.Zip.MonadZip (GHC.Internal.Generics.Rec1 f) -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11592
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Solo -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11593
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Data.Semigroup.Internal.Sum -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11594
    -instance GHC.Internal.Control.Monad.Zip.MonadZip GHC.Internal.Generics.U1 -- Defined in ‘GHC.Internal.Control.Monad.Zip’
    
    11595
    -instance GHC.Internal.Control.Monad.Zip.MonadZip Data.Complex.Complex -- Defined in ‘Data.Complex’
    
    11596
    -instance [safe] forall (f :: * -> *) (g :: * -> *). (GHC.Internal.Control.Monad.Zip.MonadZip f, GHC.Internal.Control.Monad.Zip.MonadZip g) => GHC.Internal.Control.Monad.Zip.MonadZip (Data.Functor.Product.Product f g) -- Defined in ‘Data.Functor.Product’
    
    11597 11597
     instance forall (a :: * -> * -> *) b c. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable b, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable c, GHC.Internal.Data.Data.Data (a b c)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedArrow a b c) -- Defined in ‘Control.Applicative’
    
    11598 11598
     instance forall (m :: * -> *) a. (ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable m, ghc-internal-9.1500.0:GHC.Internal.Data.Typeable.Internal.Typeable a, GHC.Internal.Data.Data.Data (m a)) => GHC.Internal.Data.Data.Data (Control.Applicative.WrappedMonad m a) -- Defined in ‘Control.Applicative’
    
    11599 11599
     instance GHC.Internal.Data.Data.Data Data.Array.Byte.ByteArray -- Defined in ‘Data.Array.Byte’