<html xmlns="http://www.w3.org/1999/xhtml" ><head ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title >Bug1004</title ><link href="#" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="#" /><link rel="stylesheet" type="text/css" href="#" /><script src="haddock-bundle.min.js" async="async" type="text/javascript" ></script ><script type="text/x-mathjax-config" >MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script ><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript" ></script ></head ><body ><div id="package-header" ><span class="caption empty" > </span ><ul class="links" id="page-menu" ><li ><a href="#" >Contents</a ></li ><li ><a href="#" >Index</a ></li ></ul ></div ><div id="content" ><div id="module-header" ><table class="info" ><tr ><th >Safe Haskell</th ><td >Safe-Inferred</td ></tr ><tr ><th >Language</th ><td >Haskell2010</td ></tr ></table ><p class="caption" >Bug1004</p ></div ><div id="synopsis" ><details id="syn" ><summary >Synopsis</summary ><ul class="details-toggle" data-details-id="syn" ><li class="src short" ><span class="keyword" >data</span > <a href="#" >Product</a > (f :: k -> <a href="#" title="Data.Kind" >Type</a >) (g :: k -> <a href="#" title="Data.Kind" >Type</a >) (a :: k) = <a href="#" >Pair</a > (f a) (g a)</li ></ul ></details ></div ><div id="interface" ><h1 >Documentation</h1 ><div class="top" ><p class="src" ><span class="keyword" >data</span > <a id="t:Product" class="def" >Product</a > (f :: k -> <a href="#" title="Data.Kind" >Type</a >) (g :: k -> <a href="#" title="Data.Kind" >Type</a >) (a :: k) <a href="#" class="selflink" >#</a ></p ><div class="doc" ><p >Lifted product of functors.</p ></div ><div class="subs constructors" ><p class="caption" >Constructors</p ><table ><tr ><td class="src" ><a id="v:Pair" class="def" >Pair</a > (f a) (g a)</td ><td class="doc empty" > </td ></tr ></table ></div ><div class="subs instances" ><h4 class="instances details-toggle-control details-toggle" data-details-id="i:Product" >Instances</h4 ><details id="i:Product" open="open" ><summary class="hide-when-js-enabled" >Instances details</summary ><table ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic1:1" ></span > <a href="#" title="GHC.Generics" >Generic1</a > (<a href="#" title="Bug1004" >Product</a > f g :: k -> <a href="#" title="Data.Kind" >Type</a >)</span ></td ><td class="doc empty" > </td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Generic1:1" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs associated-types" ><p class="caption" >Associated Types</p ><p class="src" ><span class="keyword" >type</span > <a href="#" title="GHC.Generics" >Rep1</a > (<a href="#" title="Bug1004" >Product</a > f g) :: k -> <a href="#" title="Data.Kind" >Type</a > <a href="#" class="selflink" >#</a ></p ></div > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >from1</a > :: <span class="keyword" >forall</span > (a :: k0). <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="GHC.Generics" >Rep1</a > (<a href="#" title="Bug1004" >Product</a > f g) a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >to1</a > :: <span class="keyword" >forall</span > (a :: k0). <a href="#" title="GHC.Generics" >Rep1</a > (<a href="#" title="Bug1004" >Product</a > f g) a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadFix:2" ></span > (<a href="#" title="Control.Monad.Fix" >MonadFix</a > f, <a href="#" title="Control.Monad.Fix" >MonadFix</a > g) => <a href="#" title="Control.Monad.Fix" >MonadFix</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:MonadFix:2" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >mfix</a > :: (a -> <a href="#" title="Bug1004" >Product</a > f g a) -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadZip:3" ></span > (<a href="#" title="Control.Monad.Zip" >MonadZip</a > f, <a href="#" title="Control.Monad.Zip" >MonadZip</a > g) => <a href="#" title="Control.Monad.Zip" >MonadZip</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:MonadZip:3" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >mzip</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a > f g (a, b) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >mzipWith</a > :: (a -> b -> c) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a > f g c <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >munzip</a > :: <a href="#" title="Bug1004" >Product</a > f g (a, b) -> (<a href="#" title="Bug1004" >Product</a > f g a, <a href="#" title="Bug1004" >Product</a > f g b) <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Foldable:4" ></span > (<a href="#" title="Data.Foldable" >Foldable</a > f, <a href="#" title="Data.Foldable" >Foldable</a > g) => <a href="#" title="Data.Foldable" >Foldable</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Foldable:4" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >fold</a > :: <a href="#" title="Data.Monoid" >Monoid</a > m => <a href="#" title="Bug1004" >Product</a > f g m -> m <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldMap</a > :: <a href="#" title="Data.Monoid" >Monoid</a > m => (a -> m) -> <a href="#" title="Bug1004" >Product</a > f g a -> m <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldMap'</a > :: <a href="#" title="Data.Monoid" >Monoid</a > m => (a -> m) -> <a href="#" title="Bug1004" >Product</a > f g a -> m <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldr</a > :: (a -> b -> b) -> b -> <a href="#" title="Bug1004" >Product</a > f g a -> b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldr'</a > :: (a -> b -> b) -> b -> <a href="#" title="Bug1004" >Product</a > f g a -> b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldl</a > :: (b -> a -> b) -> b -> <a href="#" title="Bug1004" >Product</a > f g a -> b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldl'</a > :: (b -> a -> b) -> b -> <a href="#" title="Bug1004" >Product</a > f g a -> b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldr1</a > :: (a -> a -> a) -> <a href="#" title="Bug1004" >Product</a > f g a -> a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >foldl1</a > :: (a -> a -> a) -> <a href="#" title="Bug1004" >Product</a > f g a -> a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >toList</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> [a] <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >null</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >length</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Int" >Int</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >elem</a > :: <a href="#" title="Data.Eq" >Eq</a > a => a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >maximum</a > :: <a href="#" title="Data.Ord" >Ord</a > a => <a href="#" title="Bug1004" >Product</a > f g a -> a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >minimum</a > :: <a href="#" title="Data.Ord" >Ord</a > a => <a href="#" title="Bug1004" >Product</a > f g a -> a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >sum</a > :: <a href="#" title="Prelude" >Num</a > a => <a href="#" title="Bug1004" >Product</a > f g a -> a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >product</a > :: <a href="#" title="Prelude" >Num</a > a => <a href="#" title="Bug1004" >Product</a > f g a -> a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq1:5" ></span > (<a href="#" title="Data.Functor.Classes" >Eq1</a > f, <a href="#" title="Data.Functor.Classes" >Eq1</a > g) => <a href="#" title="Data.Functor.Classes" >Eq1</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Eq1:5" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >liftEq</a > :: (a -> b -> <a href="#" title="Data.Bool" >Bool</a >) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord1:6" ></span > (<a href="#" title="Data.Functor.Classes" >Ord1</a > f, <a href="#" title="Data.Functor.Classes" >Ord1</a > g) => <a href="#" title="Data.Functor.Classes" >Ord1</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Ord1:6" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >liftCompare</a > :: (a -> b -> <a href="#" title="Data.Ord" >Ordering</a >) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Data.Ord" >Ordering</a > <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read1:7" ></span > (<a href="#" title="Data.Functor.Classes" >Read1</a > f, <a href="#" title="Data.Functor.Classes" >Read1</a > g) => <a href="#" title="Data.Functor.Classes" >Read1</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Read1:7" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >liftReadsPrec</a > :: (<a href="#" title="Data.Int" >Int</a > -> <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > a) -> <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > [a] -> <a href="#" title="Data.Int" >Int</a > -> <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >liftReadList</a > :: (<a href="#" title="Data.Int" >Int</a > -> <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > a) -> <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > [a] -> <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > [<a href="#" title="Bug1004" >Product</a > f g a] <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >liftReadPrec</a > :: <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > a -> <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > [a] -> <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >liftReadListPrec</a > :: <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > a -> <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > [a] -> <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > [<a href="#" title="Bug1004" >Product</a > f g a] <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show1:8" ></span > (<a href="#" title="Data.Functor.Classes" >Show1</a > f, <a href="#" title="Data.Functor.Classes" >Show1</a > g) => <a href="#" title="Data.Functor.Classes" >Show1</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Show1:8" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >liftShowsPrec</a > :: (<a href="#" title="Data.Int" >Int</a > -> a -> <a href="#" title="Text.Show" >ShowS</a >) -> ([a] -> <a href="#" title="Text.Show" >ShowS</a >) -> <a href="#" title="Data.Int" >Int</a > -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Text.Show" >ShowS</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >liftShowList</a > :: (<a href="#" title="Data.Int" >Int</a > -> a -> <a href="#" title="Text.Show" >ShowS</a >) -> ([a] -> <a href="#" title="Text.Show" >ShowS</a >) -> [<a href="#" title="Bug1004" >Product</a > f g a] -> <a href="#" title="Text.Show" >ShowS</a > <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Traversable:9" ></span > (<a href="#" title="Data.Traversable" >Traversable</a > f, <a href="#" title="Data.Traversable" >Traversable</a > g) => <a href="#" title="Data.Traversable" >Traversable</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Traversable:9" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >traverse</a > :: <a href="#" title="Control.Applicative" >Applicative</a > f0 => (a -> f0 b) -> <a href="#" title="Bug1004" >Product</a > f g a -> f0 (<a href="#" title="Bug1004" >Product</a > f g b) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >sequenceA</a > :: <a href="#" title="Control.Applicative" >Applicative</a > f0 => <a href="#" title="Bug1004" >Product</a > f g (f0 a) -> f0 (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >mapM</a > :: <a href="#" title="Control.Monad" >Monad</a > m => (a -> m b) -> <a href="#" title="Bug1004" >Product</a > f g a -> m (<a href="#" title="Bug1004" >Product</a > f g b) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >sequence</a > :: <a href="#" title="Control.Monad" >Monad</a > m => <a href="#" title="Bug1004" >Product</a > f g (m a) -> m (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Alternative:10" ></span > (<a href="#" title="Control.Applicative" >Alternative</a > f, <a href="#" title="Control.Applicative" >Alternative</a > g) => <a href="#" title="Control.Applicative" >Alternative</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Alternative:10" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >empty</a > :: <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(<|>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >some</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g [a] <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >many</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g [a] <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Applicative:11" ></span > (<a href="#" title="Control.Applicative" >Applicative</a > f, <a href="#" title="Control.Applicative" >Applicative</a > g) => <a href="#" title="Control.Applicative" >Applicative</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Applicative:11" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >pure</a > :: a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(<*>)</a > :: <a href="#" title="Bug1004" >Product</a > f g (a -> b) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >liftA2</a > :: (a -> b -> c) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a > f g c <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(*>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a > f g b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(<*)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Functor:12" ></span > (<a href="#" title="Data.Functor" >Functor</a > f, <a href="#" title="Data.Functor" >Functor</a > g) => <a href="#" title="Data.Functor" >Functor</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Functor:12" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >fmap</a > :: (a -> b) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(<$)</a > :: a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monad:13" ></span > (<a href="#" title="Control.Monad" >Monad</a > f, <a href="#" title="Control.Monad" >Monad</a > g) => <a href="#" title="Control.Monad" >Monad</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Monad:13" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >(>>=)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> (a -> <a href="#" title="Bug1004" >Product</a > f g b) -> <a href="#" title="Bug1004" >Product</a > f g b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(>>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g b -> <a href="#" title="Bug1004" >Product</a > f g b <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >return</a > :: a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:MonadPlus:14" ></span > (<a href="#" title="Control.Monad" >MonadPlus</a > f, <a href="#" title="Control.Monad" >MonadPlus</a > g) => <a href="#" title="Control.Monad" >MonadPlus</a > (<a href="#" title="Bug1004" >Product</a > f g)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:MonadPlus:14" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >mzero</a > :: <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >mplus</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Data:15" ></span > (<a href="#" title="Data.Typeable" >Typeable</a > a, <a href="#" title="Data.Typeable" >Typeable</a > f, <a href="#" title="Data.Typeable" >Typeable</a > g, <a href="#" title="Data.Typeable" >Typeable</a > k, <a href="#" title="Data.Data" >Data</a > (f a), <a href="#" title="Data.Data" >Data</a > (g a)) => <a href="#" title="Data.Data" >Data</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Data:15" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >gfoldl</a > :: (<span class="keyword" >forall</span > d b. <a href="#" title="Data.Data" >Data</a > d => c (d -> b) -> d -> c b) -> (<span class="keyword" >forall</span > g0. g0 -> c g0) -> <a href="#" title="Bug1004" >Product</a > f g a -> c (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gunfold</a > :: (<span class="keyword" >forall</span > b r. <a href="#" title="Data.Data" >Data</a > b => c (b -> r) -> c r) -> (<span class="keyword" >forall</span > r. r -> c r) -> <a href="#" title="Data.Data" >Constr</a > -> c (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >toConstr</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Data" >Constr</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >dataTypeOf</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Data" >DataType</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >dataCast1</a > :: <a href="#" title="Data.Typeable" >Typeable</a > t => (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => c (t d)) -> <a href="#" title="Data.Maybe" >Maybe</a > (c (<a href="#" title="Bug1004" >Product</a > f g a)) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >dataCast2</a > :: <a href="#" title="Data.Typeable" >Typeable</a > t => (<span class="keyword" >forall</span > d e. (<a href="#" title="Data.Data" >Data</a > d, <a href="#" title="Data.Data" >Data</a > e) => c (t d e)) -> <a href="#" title="Data.Maybe" >Maybe</a > (c (<a href="#" title="Bug1004" >Product</a > f g a)) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapT</a > :: (<span class="keyword" >forall</span > b. <a href="#" title="Data.Data" >Data</a > b => b -> b) -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapQl</a > :: (r -> r' -> r) -> r -> (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => d -> r') -> <a href="#" title="Bug1004" >Product</a > f g a -> r <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapQr</a > :: <span class="keyword" >forall</span > r r'. (r' -> r -> r) -> r -> (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => d -> r') -> <a href="#" title="Bug1004" >Product</a > f g a -> r <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapQ</a > :: (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => d -> u) -> <a href="#" title="Bug1004" >Product</a > f g a -> [u] <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapQi</a > :: <a href="#" title="Data.Int" >Int</a > -> (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => d -> u) -> <a href="#" title="Bug1004" >Product</a > f g a -> u <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapM</a > :: <a href="#" title="Control.Monad" >Monad</a > m => (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => d -> m d) -> <a href="#" title="Bug1004" >Product</a > f g a -> m (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapMp</a > :: <a href="#" title="Control.Monad" >MonadPlus</a > m => (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => d -> m d) -> <a href="#" title="Bug1004" >Product</a > f g a -> m (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >gmapMo</a > :: <a href="#" title="Control.Monad" >MonadPlus</a > m => (<span class="keyword" >forall</span > d. <a href="#" title="Data.Data" >Data</a > d => d -> m d) -> <a href="#" title="Bug1004" >Product</a > f g a -> m (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Monoid:16" ></span > (<a href="#" title="Data.Monoid" >Monoid</a > (f a), <a href="#" title="Data.Monoid" >Monoid</a > (g a)) => <a href="#" title="Data.Monoid" >Monoid</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.16.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Monoid:16" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >mempty</a > :: <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >mappend</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >mconcat</a > :: [<a href="#" title="Bug1004" >Product</a > f g a] -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Semigroup:17" ></span > (<a href="#" title="Prelude" >Semigroup</a > (f a), <a href="#" title="Prelude" >Semigroup</a > (g a)) => <a href="#" title="Prelude" >Semigroup</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.16.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Semigroup:17" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >(<>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >sconcat</a > :: <a href="#" title="Data.List.NonEmpty" >NonEmpty</a > (<a href="#" title="Bug1004" >Product</a > f g a) -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >stimes</a > :: <a href="#" title="Prelude" >Integral</a > b => b -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Generic:18" ></span > <a href="#" title="GHC.Generics" >Generic</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc empty" > </td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Generic:18" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs associated-types" ><p class="caption" >Associated Types</p ><p class="src" ><span class="keyword" >type</span > <a href="#" title="GHC.Generics" >Rep</a > (<a href="#" title="Bug1004" >Product</a > f g a) :: <a href="#" title="Data.Kind" >Type</a > -> <a href="#" title="Data.Kind" >Type</a > <a href="#" class="selflink" >#</a ></p ></div > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >from</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="GHC.Generics" >Rep</a > (<a href="#" title="Bug1004" >Product</a > f g a) x <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >to</a > :: <a href="#" title="GHC.Generics" >Rep</a > (<a href="#" title="Bug1004" >Product</a > f g a) x -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Read:19" ></span > (<a href="#" title="Data.Functor.Classes" >Read1</a > f, <a href="#" title="Data.Functor.Classes" >Read1</a > g, <a href="#" title="Text.Read" >Read</a > a) => <a href="#" title="Text.Read" >Read</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Read:19" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >readsPrec</a > :: <a href="#" title="Data.Int" >Int</a > -> <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >readList</a > :: <a href="#" title="Text.ParserCombinators.ReadP" >ReadS</a > [<a href="#" title="Bug1004" >Product</a > f g a] <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >readPrec</a > :: <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > (<a href="#" title="Bug1004" >Product</a > f g a) <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >readListPrec</a > :: <a href="#" title="Text.ParserCombinators.ReadPrec" >ReadPrec</a > [<a href="#" title="Bug1004" >Product</a > f g a] <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Show:20" ></span > (<a href="#" title="Data.Functor.Classes" >Show1</a > f, <a href="#" title="Data.Functor.Classes" >Show1</a > g, <a href="#" title="Text.Show" >Show</a > a) => <a href="#" title="Text.Show" >Show</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Show:20" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >showsPrec</a > :: <a href="#" title="Data.Int" >Int</a > -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Text.Show" >ShowS</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >show</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.String" >String</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >showList</a > :: [<a href="#" title="Bug1004" >Product</a > f g a] -> <a href="#" title="Text.Show" >ShowS</a > <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Eq:21" ></span > (<a href="#" title="Data.Functor.Classes" >Eq1</a > f, <a href="#" title="Data.Functor.Classes" >Eq1</a > g, <a href="#" title="Data.Eq" >Eq</a > a) => <a href="#" title="Data.Eq" >Eq</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Eq:21" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >(==)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(/=)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Ord:22" ></span > (<a href="#" title="Data.Functor.Classes" >Ord1</a > f, <a href="#" title="Data.Functor.Classes" >Ord1</a > g, <a href="#" title="Data.Ord" >Ord</a > a) => <a href="#" title="Data.Ord" >Ord</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Ord:22" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="subs methods" ><p class="caption" >Methods</p ><p class="src" ><a href="#" >compare</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Ord" >Ordering</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(<)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(<=)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(>)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >(>=)</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Data.Bool" >Bool</a > <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >max</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ><p class="src" ><a href="#" >min</a > :: <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a -> <a href="#" title="Bug1004" >Product</a > f g a <a href="#" class="selflink" >#</a ></p ></div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep1:23" ></span > <span class="keyword" >type</span > <a href="#" title="GHC.Generics" >Rep1</a > (<a href="#" title="Bug1004" >Product</a > f g :: k -> <a href="#" title="Data.Kind" >Type</a >)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Rep1:23" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="src" ><span class="keyword" >type</span > <a href="#" title="GHC.Generics" >Rep1</a > (<a href="#" title="Bug1004" >Product</a > f g :: k -> <a href="#" title="Data.Kind" >Type</a >) = <a href="#" title="GHC.Generics" >D1</a > ('<a href="#" title="GHC.Generics" >MetaData</a > "Product" "Data.Functor.Product" "base" '<a href="#" title="Data.Bool" >False</a >) (<a href="#" title="GHC.Generics" >C1</a > ('<a href="#" title="GHC.Generics" >MetaCons</a > "Pair" '<a href="#" title="GHC.Generics" >PrefixI</a > '<a href="#" title="Data.Bool" >False</a >) (<a href="#" title="GHC.Generics" >S1</a > ('<a href="#" title="GHC.Generics" >MetaSel</a > ('<a href="#" title="Data.Maybe" >Nothing</a > :: <a href="#" title="Data.Maybe" >Maybe</a > <a href="#" title="GHC.TypeLits" >Symbol</a >) '<a href="#" title="GHC.Generics" >NoSourceUnpackedness</a > '<a href="#" title="GHC.Generics" >NoSourceStrictness</a > '<a href="#" title="GHC.Generics" >DecidedLazy</a >) (<a href="#" title="GHC.Generics" >Rec1</a > f) <a href="#" title="GHC.Generics" >:*:</a > <a href="#" title="GHC.Generics" >S1</a > ('<a href="#" title="GHC.Generics" >MetaSel</a > ('<a href="#" title="Data.Maybe" >Nothing</a > :: <a href="#" title="Data.Maybe" >Maybe</a > <a href="#" title="GHC.TypeLits" >Symbol</a >) '<a href="#" title="GHC.Generics" >NoSourceUnpackedness</a > '<a href="#" title="GHC.Generics" >NoSourceStrictness</a > '<a href="#" title="GHC.Generics" >DecidedLazy</a >) (<a href="#" title="GHC.Generics" >Rec1</a > g)))</div ></details ></td ></tr ><tr ><td class="src clearfix" ><span class="inst-left" ><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Product:Rep:24" ></span > <span class="keyword" >type</span > <a href="#" title="GHC.Generics" >Rep</a > (<a href="#" title="Bug1004" >Product</a > f g a)</span ></td ><td class="doc" ><p ><em >Since: base-4.9.0.0</em ></p ></td ></tr ><tr ><td colspan="2" ><details id="i:id:Product:Rep:24" ><summary class="hide-when-js-enabled" >Instance details</summary ><p >Defined in <a href="#" >Data.Functor.Product</a ></p > <div class="src" ><span class="keyword" >type</span > <a href="#" title="GHC.Generics" >Rep</a > (<a href="#" title="Bug1004" >Product</a > f g a) = <a href="#" title="GHC.Generics" >D1</a > ('<a href="#" title="GHC.Generics" >MetaData</a > "Product" "Data.Functor.Product" "base" '<a href="#" title="Data.Bool" >False</a >) (<a href="#" title="GHC.Generics" >C1</a > ('<a href="#" title="GHC.Generics" >MetaCons</a > "Pair" '<a href="#" title="GHC.Generics" >PrefixI</a > '<a href="#" title="Data.Bool" >False</a >) (<a href="#" title="GHC.Generics" >S1</a > ('<a href="#" title="GHC.Generics" >MetaSel</a > ('<a href="#" title="Data.Maybe" >Nothing</a > :: <a href="#" title="Data.Maybe" >Maybe</a > <a href="#" title="GHC.TypeLits" >Symbol</a >) '<a href="#" title="GHC.Generics" >NoSourceUnpackedness</a > '<a href="#" title="GHC.Generics" >NoSourceStrictness</a > '<a href="#" title="GHC.Generics" >DecidedLazy</a >) (<a href="#" title="GHC.Generics" >Rec0</a > (f a)) <a href="#" title="GHC.Generics" >:*:</a > <a href="#" title="GHC.Generics" >S1</a > ('<a href="#" title="GHC.Generics" >MetaSel</a > ('<a href="#" title="Data.Maybe" >Nothing</a > :: <a href="#" title="Data.Maybe" >Maybe</a > <a href="#" title="GHC.TypeLits" >Symbol</a >) '<a href="#" title="GHC.Generics" >NoSourceUnpackedness</a > '<a href="#" title="GHC.Generics" >NoSourceStrictness</a > '<a href="#" title="GHC.Generics" >DecidedLazy</a >) (<a href="#" title="GHC.Generics" >Rec0</a > (g a))))</div ></details ></td ></tr ></table ></details ></div ></div ></div ></div ></body ></html >