TYPE SIGNATURES (+++) :: forall {a}. [a] -> [a] -> [a] TYPE CONSTRUCTORS data type (&&&){0} :: * type synonym (^^^){0} :: * -> * -> * PATTERN SYNONYMS (:||:) :: forall {a} {b}. a -> b -> (a, b) Dependent modules: [] Dependent packages: [base-4.14.0.0, ghc-prim-0.6.1, integer-gmp-1.0.3.0] ==================== Tidy Core ==================== Result size of Tidy Core = {terms: 18, types: 53, coercions: 0, joins: 0/0} -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T18052a.$b:||: :: forall {a} {b}. a -> b -> (a, b) [GblId, Arity=2, Unf=OtherCon []] T18052a.$b:||: = GHC.Tuple.(,) -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} (+++) :: forall {a}. [a] -> [a] -> [a] [GblId] (+++) = (++) -- RHS size: {terms: 13, types: 20, coercions: 0, joins: 0/0} T18052a.$m:||: :: forall {rep :: GHC.Types.RuntimeRep} {r :: TYPE rep} {a} {b}. (a, b) -> (a -> b -> r) -> (GHC.Prim.Void# -> r) -> r [GblId, Arity=3, Unf=OtherCon []] T18052a.$m:||: = \ (@(rep :: GHC.Types.RuntimeRep)) (@(r :: TYPE rep)) (@a) (@b) (scrut :: (a, b)) (cont :: a -> b -> r) _ [Occ=Dead] -> case scrut of { (x, y) -> cont x y }