Zubin pushed to branch wip/25924 at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • testsuite/tests/dmdanal/should_compile/T18982.stderr
    1 1
     
    
    2 2
     ==================== Tidy Core ====================
    
    3
    -Result size of Tidy Core = {terms: 295, types: 206, coercions: 4, joins: 0/0}
    
    4
    -
    
    5
    --- RHS size: {terms: 8, types: 9, coercions: 1, joins: 0/0}
    
    6
    -T18982.$WExGADT :: forall e. (e ~ Int) => e %1 -> Int %1 -> ExGADT Int
    
    7
    -T18982.$WExGADT = \ (@e) (conrep :: e ~ Int) (conrep1 :: e) (conrep2 :: Int) -> T18982.ExGADT @Int @e @~(<Int>_N :: Int GHC.Internal.Prim.~# Int) conrep conrep1 conrep2
    
    8
    -
    
    9
    --- RHS size: {terms: 3, types: 2, coercions: 1, joins: 0/0}
    
    10
    -T18982.$WGADT :: Int %1 -> GADT Int
    
    11
    -T18982.$WGADT = \ (conrep :: Int) -> T18982.GADT @Int @~(<Int>_N :: Int GHC.Internal.Prim.~# Int) conrep
    
    12
    -
    
    13
    --- RHS size: {terms: 7, types: 6, coercions: 0, joins: 0/0}
    
    14
    -T18982.$WEx :: forall e a. e %1 -> a %1 -> Ex a
    
    15
    -T18982.$WEx = \ (@e) (@a) (conrep :: e) (conrep1 :: a) -> T18982.Ex @a @e conrep conrep1
    
    3
    +Result size of Tidy Core = {terms: 276, types: 179, coercions: 2, joins: 0/0}
    
    16 4
     
    
    17 5
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    18
    -T18982.$trModule4 :: GHC.Internal.Prim.Addr#
    
    19
    -T18982.$trModule4 = "main"#
    
    6
    +$trModule1 :: GHC.Internal.Prim.Addr#
    
    7
    +$trModule1 = "main"#
    
    20 8
     
    
    21 9
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    22
    -T18982.$trModule3 :: GHC.Internal.Types.TrName
    
    23
    -T18982.$trModule3 = GHC.Internal.Types.TrNameS T18982.$trModule4
    
    10
    +$trModule2 :: GHC.Internal.Types.TrName
    
    11
    +$trModule2 = GHC.Internal.Types.TrNameS $trModule1
    
    24 12
     
    
    25 13
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    26
    -T18982.$trModule2 :: GHC.Internal.Prim.Addr#
    
    27
    -T18982.$trModule2 = "T18982"#
    
    14
    +$trModule3 :: GHC.Internal.Prim.Addr#
    
    15
    +$trModule3 = "T18982"#
    
    28 16
     
    
    29 17
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    30
    -T18982.$trModule1 :: GHC.Internal.Types.TrName
    
    31
    -T18982.$trModule1 = GHC.Internal.Types.TrNameS T18982.$trModule2
    
    18
    +$trModule4 :: GHC.Internal.Types.TrName
    
    19
    +$trModule4 = GHC.Internal.Types.TrNameS $trModule3
    
    32 20
     
    
    33 21
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    34 22
     T18982.$trModule :: GHC.Internal.Types.Module
    
    35
    -T18982.$trModule = GHC.Internal.Types.Module T18982.$trModule3 T18982.$trModule1
    
    23
    +T18982.$trModule = GHC.Internal.Types.Module $trModule2 $trModule4
    
    36 24
     
    
    37 25
     -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0}
    
    38 26
     $krep :: GHC.Internal.Types.KindRep
    
    ... ... @@ -47,16 +35,16 @@ $krep2 :: GHC.Internal.Types.KindRep
    47 35
     $krep2 = GHC.Internal.Types.KindRepVar 0#
    
    48 36
     
    
    49 37
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    50
    -T18982.$tcBox2 :: GHC.Internal.Prim.Addr#
    
    51
    -T18982.$tcBox2 = "Box"#
    
    38
    +$tcBox1 :: GHC.Internal.Prim.Addr#
    
    39
    +$tcBox1 = "Box"#
    
    52 40
     
    
    53 41
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    54
    -T18982.$tcBox1 :: GHC.Internal.Types.TrName
    
    55
    -T18982.$tcBox1 = GHC.Internal.Types.TrNameS T18982.$tcBox2
    
    42
    +$tcBox2 :: GHC.Internal.Types.TrName
    
    43
    +$tcBox2 = GHC.Internal.Types.TrNameS $tcBox1
    
    56 44
     
    
    57 45
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    58 46
     T18982.$tcBox :: GHC.Internal.Types.TyCon
    
    59
    -T18982.$tcBox = GHC.Internal.Types.TyCon 16948648223906549518#Word64 2491460178135962649#Word64 T18982.$trModule T18982.$tcBox1 0# GHC.Internal.Types.krep$*Arr*
    
    47
    +T18982.$tcBox = GHC.Internal.Types.TyCon 16948648223906549518#Word64 2491460178135962649#Word64 T18982.$trModule $tcBox2 0# GHC.Internal.Types.krep$*Arr*
    
    60 48
     
    
    61 49
     -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0}
    
    62 50
     $krep3 :: [GHC.Internal.Types.KindRep]
    
    ... ... @@ -67,140 +55,140 @@ $krep4 :: GHC.Internal.Types.KindRep
    67 55
     $krep4 = GHC.Internal.Types.KindRepTyConApp T18982.$tcBox $krep3
    
    68 56
     
    
    69 57
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    70
    -T18982.$tc'Box1 :: GHC.Internal.Types.KindRep
    
    71
    -T18982.$tc'Box1 = GHC.Internal.Types.KindRepFun $krep2 $krep4
    
    58
    +$krep5 :: GHC.Internal.Types.KindRep
    
    59
    +$krep5 = GHC.Internal.Types.KindRepFun $krep2 $krep4
    
    72 60
     
    
    73 61
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    74
    -T18982.$tc'Box3 :: GHC.Internal.Prim.Addr#
    
    75
    -T18982.$tc'Box3 = "'Box"#
    
    62
    +$tc'Box1 :: GHC.Internal.Prim.Addr#
    
    63
    +$tc'Box1 = "'Box"#
    
    76 64
     
    
    77 65
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    78
    -T18982.$tc'Box2 :: GHC.Internal.Types.TrName
    
    79
    -T18982.$tc'Box2 = GHC.Internal.Types.TrNameS T18982.$tc'Box3
    
    66
    +$tc'Box2 :: GHC.Internal.Types.TrName
    
    67
    +$tc'Box2 = GHC.Internal.Types.TrNameS $tc'Box1
    
    80 68
     
    
    81 69
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    82 70
     T18982.$tc'Box :: GHC.Internal.Types.TyCon
    
    83
    -T18982.$tc'Box = GHC.Internal.Types.TyCon 1412068769125067428#Word64 8727214667407894081#Word64 T18982.$trModule T18982.$tc'Box2 1# T18982.$tc'Box1
    
    71
    +T18982.$tc'Box = GHC.Internal.Types.TyCon 1412068769125067428#Word64 8727214667407894081#Word64 T18982.$trModule $tc'Box2 1# $krep5
    
    84 72
     
    
    85 73
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    86
    -T18982.$tcEx2 :: GHC.Internal.Prim.Addr#
    
    87
    -T18982.$tcEx2 = "Ex"#
    
    74
    +$tcEx1 :: GHC.Internal.Prim.Addr#
    
    75
    +$tcEx1 = "Ex"#
    
    88 76
     
    
    89 77
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    90
    -T18982.$tcEx1 :: GHC.Internal.Types.TrName
    
    91
    -T18982.$tcEx1 = GHC.Internal.Types.TrNameS T18982.$tcEx2
    
    78
    +$tcEx2 :: GHC.Internal.Types.TrName
    
    79
    +$tcEx2 = GHC.Internal.Types.TrNameS $tcEx1
    
    92 80
     
    
    93 81
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    94 82
     T18982.$tcEx :: GHC.Internal.Types.TyCon
    
    95
    -T18982.$tcEx = GHC.Internal.Types.TyCon 4376661818164435927#Word64 18005417598910668817#Word64 T18982.$trModule T18982.$tcEx1 0# GHC.Internal.Types.krep$*Arr*
    
    83
    +T18982.$tcEx = GHC.Internal.Types.TyCon 4376661818164435927#Word64 18005417598910668817#Word64 T18982.$trModule $tcEx2 0# GHC.Internal.Types.krep$*Arr*
    
    96 84
     
    
    97 85
     -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0}
    
    98
    -$krep5 :: [GHC.Internal.Types.KindRep]
    
    99
    -$krep5 = GHC.Internal.Types.: @GHC.Internal.Types.KindRep $krep1 (GHC.Internal.Types.[] @GHC.Internal.Types.KindRep)
    
    86
    +$krep6 :: [GHC.Internal.Types.KindRep]
    
    87
    +$krep6 = GHC.Internal.Types.: @GHC.Internal.Types.KindRep $krep1 (GHC.Internal.Types.[] @GHC.Internal.Types.KindRep)
    
    100 88
     
    
    101 89
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    102
    -$krep6 :: GHC.Internal.Types.KindRep
    
    103
    -$krep6 = GHC.Internal.Types.KindRepTyConApp T18982.$tcEx $krep5
    
    90
    +$krep7 :: GHC.Internal.Types.KindRep
    
    91
    +$krep7 = GHC.Internal.Types.KindRepTyConApp T18982.$tcEx $krep6
    
    104 92
     
    
    105 93
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    106
    -$krep7 :: GHC.Internal.Types.KindRep
    
    107
    -$krep7 = GHC.Internal.Types.KindRepFun $krep1 $krep6
    
    94
    +$krep8 :: GHC.Internal.Types.KindRep
    
    95
    +$krep8 = GHC.Internal.Types.KindRepFun $krep1 $krep7
    
    108 96
     
    
    109 97
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    110
    -T18982.$tc'Ex1 :: GHC.Internal.Types.KindRep
    
    111
    -T18982.$tc'Ex1 = GHC.Internal.Types.KindRepFun $krep2 $krep7
    
    98
    +$krep9 :: GHC.Internal.Types.KindRep
    
    99
    +$krep9 = GHC.Internal.Types.KindRepFun $krep2 $krep8
    
    112 100
     
    
    113 101
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    114
    -T18982.$tc'Ex3 :: GHC.Internal.Prim.Addr#
    
    115
    -T18982.$tc'Ex3 = "'Ex"#
    
    102
    +$tc'Ex1 :: GHC.Internal.Prim.Addr#
    
    103
    +$tc'Ex1 = "'Ex"#
    
    116 104
     
    
    117 105
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    118
    -T18982.$tc'Ex2 :: GHC.Internal.Types.TrName
    
    119
    -T18982.$tc'Ex2 = GHC.Internal.Types.TrNameS T18982.$tc'Ex3
    
    106
    +$tc'Ex2 :: GHC.Internal.Types.TrName
    
    107
    +$tc'Ex2 = GHC.Internal.Types.TrNameS $tc'Ex1
    
    120 108
     
    
    121 109
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    122 110
     T18982.$tc'Ex :: GHC.Internal.Types.TyCon
    
    123
    -T18982.$tc'Ex = GHC.Internal.Types.TyCon 14609381081172201359#Word64 3077219645053200509#Word64 T18982.$trModule T18982.$tc'Ex2 2# T18982.$tc'Ex1
    
    111
    +T18982.$tc'Ex = GHC.Internal.Types.TyCon 14609381081172201359#Word64 3077219645053200509#Word64 T18982.$trModule $tc'Ex2 2# $krep9
    
    124 112
     
    
    125 113
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    126
    -T18982.$tcGADT2 :: GHC.Internal.Prim.Addr#
    
    127
    -T18982.$tcGADT2 = "GADT"#
    
    114
    +$tcGADT1 :: GHC.Internal.Prim.Addr#
    
    115
    +$tcGADT1 = "GADT"#
    
    128 116
     
    
    129 117
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    130
    -T18982.$tcGADT1 :: GHC.Internal.Types.TrName
    
    131
    -T18982.$tcGADT1 = GHC.Internal.Types.TrNameS T18982.$tcGADT2
    
    118
    +$tcGADT2 :: GHC.Internal.Types.TrName
    
    119
    +$tcGADT2 = GHC.Internal.Types.TrNameS $tcGADT1
    
    132 120
     
    
    133 121
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    134 122
     T18982.$tcGADT :: GHC.Internal.Types.TyCon
    
    135
    -T18982.$tcGADT = GHC.Internal.Types.TyCon 9243924476135839950#Word64 5096619276488416461#Word64 T18982.$trModule T18982.$tcGADT1 0# GHC.Internal.Types.krep$*Arr*
    
    123
    +T18982.$tcGADT = GHC.Internal.Types.TyCon 9243924476135839950#Word64 5096619276488416461#Word64 T18982.$trModule $tcGADT2 0# GHC.Internal.Types.krep$*Arr*
    
    136 124
     
    
    137 125
     -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0}
    
    138
    -$krep8 :: [GHC.Internal.Types.KindRep]
    
    139
    -$krep8 = GHC.Internal.Types.: @GHC.Internal.Types.KindRep $krep (GHC.Internal.Types.[] @GHC.Internal.Types.KindRep)
    
    126
    +$krep10 :: [GHC.Internal.Types.KindRep]
    
    127
    +$krep10 = GHC.Internal.Types.: @GHC.Internal.Types.KindRep $krep (GHC.Internal.Types.[] @GHC.Internal.Types.KindRep)
    
    140 128
     
    
    141 129
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    142
    -$krep9 :: GHC.Internal.Types.KindRep
    
    143
    -$krep9 = GHC.Internal.Types.KindRepTyConApp T18982.$tcGADT $krep8
    
    130
    +$krep11 :: GHC.Internal.Types.KindRep
    
    131
    +$krep11 = GHC.Internal.Types.KindRepTyConApp T18982.$tcGADT $krep10
    
    144 132
     
    
    145 133
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    146
    -T18982.$tc'GADT1 :: GHC.Internal.Types.KindRep
    
    147
    -T18982.$tc'GADT1 = GHC.Internal.Types.KindRepFun $krep $krep9
    
    134
    +$krep12 :: GHC.Internal.Types.KindRep
    
    135
    +$krep12 = GHC.Internal.Types.KindRepFun $krep $krep11
    
    148 136
     
    
    149 137
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    150
    -T18982.$tc'GADT3 :: GHC.Internal.Prim.Addr#
    
    151
    -T18982.$tc'GADT3 = "'GADT"#
    
    138
    +$tc'GADT1 :: GHC.Internal.Prim.Addr#
    
    139
    +$tc'GADT1 = "'GADT"#
    
    152 140
     
    
    153 141
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    154
    -T18982.$tc'GADT2 :: GHC.Internal.Types.TrName
    
    155
    -T18982.$tc'GADT2 = GHC.Internal.Types.TrNameS T18982.$tc'GADT3
    
    142
    +$tc'GADT2 :: GHC.Internal.Types.TrName
    
    143
    +$tc'GADT2 = GHC.Internal.Types.TrNameS $tc'GADT1
    
    156 144
     
    
    157 145
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    158 146
     T18982.$tc'GADT :: GHC.Internal.Types.TyCon
    
    159
    -T18982.$tc'GADT = GHC.Internal.Types.TyCon 2077850259354179864#Word64 16731205864486799217#Word64 T18982.$trModule T18982.$tc'GADT2 0# T18982.$tc'GADT1
    
    147
    +T18982.$tc'GADT = GHC.Internal.Types.TyCon 2077850259354179864#Word64 16731205864486799217#Word64 T18982.$trModule $tc'GADT2 0# $krep12
    
    160 148
     
    
    161 149
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    162
    -T18982.$tcExGADT2 :: GHC.Internal.Prim.Addr#
    
    163
    -T18982.$tcExGADT2 = "ExGADT"#
    
    150
    +$tcExGADT1 :: GHC.Internal.Prim.Addr#
    
    151
    +$tcExGADT1 = "ExGADT"#
    
    164 152
     
    
    165 153
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    166
    -T18982.$tcExGADT1 :: GHC.Internal.Types.TrName
    
    167
    -T18982.$tcExGADT1 = GHC.Internal.Types.TrNameS T18982.$tcExGADT2
    
    154
    +$tcExGADT2 :: GHC.Internal.Types.TrName
    
    155
    +$tcExGADT2 = GHC.Internal.Types.TrNameS $tcExGADT1
    
    168 156
     
    
    169 157
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    170 158
     T18982.$tcExGADT :: GHC.Internal.Types.TyCon
    
    171
    -T18982.$tcExGADT = GHC.Internal.Types.TyCon 6470898418160489500#Word64 10361108917441214060#Word64 T18982.$trModule T18982.$tcExGADT1 0# GHC.Internal.Types.krep$*Arr*
    
    159
    +T18982.$tcExGADT = GHC.Internal.Types.TyCon 6470898418160489500#Word64 10361108917441214060#Word64 T18982.$trModule $tcExGADT2 0# GHC.Internal.Types.krep$*Arr*
    
    172 160
     
    
    173 161
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    174
    -$krep10 :: GHC.Internal.Types.KindRep
    
    175
    -$krep10 = GHC.Internal.Types.KindRepTyConApp T18982.$tcExGADT $krep8
    
    162
    +$krep13 :: GHC.Internal.Types.KindRep
    
    163
    +$krep13 = GHC.Internal.Types.KindRepTyConApp T18982.$tcExGADT $krep10
    
    176 164
     
    
    177 165
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    178
    -$krep11 :: GHC.Internal.Types.KindRep
    
    179
    -$krep11 = GHC.Internal.Types.KindRepFun $krep $krep10
    
    166
    +$krep14 :: GHC.Internal.Types.KindRep
    
    167
    +$krep14 = GHC.Internal.Types.KindRepFun $krep $krep13
    
    180 168
     
    
    181 169
     -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
    
    182
    -T18982.$tc'ExGADT1 :: GHC.Internal.Types.KindRep
    
    183
    -T18982.$tc'ExGADT1 = GHC.Internal.Types.KindRepFun $krep2 $krep11
    
    170
    +$krep15 :: GHC.Internal.Types.KindRep
    
    171
    +$krep15 = GHC.Internal.Types.KindRepFun $krep2 $krep14
    
    184 172
     
    
    185 173
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    186
    -T18982.$tc'ExGADT3 :: GHC.Internal.Prim.Addr#
    
    187
    -T18982.$tc'ExGADT3 = "'ExGADT"#
    
    174
    +$tc'ExGADT1 :: GHC.Internal.Prim.Addr#
    
    175
    +$tc'ExGADT1 = "'ExGADT"#
    
    188 176
     
    
    189 177
     -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
    
    190
    -T18982.$tc'ExGADT2 :: GHC.Internal.Types.TrName
    
    191
    -T18982.$tc'ExGADT2 = GHC.Internal.Types.TrNameS T18982.$tc'ExGADT3
    
    178
    +$tc'ExGADT2 :: GHC.Internal.Types.TrName
    
    179
    +$tc'ExGADT2 = GHC.Internal.Types.TrNameS $tc'ExGADT1
    
    192 180
     
    
    193 181
     -- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
    
    194 182
     T18982.$tc'ExGADT :: GHC.Internal.Types.TyCon
    
    195
    -T18982.$tc'ExGADT = GHC.Internal.Types.TyCon 8468257409157161049#Word64 5503123603717080600#Word64 T18982.$trModule T18982.$tc'ExGADT2 1# T18982.$tc'ExGADT1
    
    183
    +T18982.$tc'ExGADT = GHC.Internal.Types.TyCon 8468257409157161049#Word64 5503123603717080600#Word64 T18982.$trModule $tc'ExGADT2 1# $krep15
    
    196 184
     
    
    197
    --- RHS size: {terms: 11, types: 10, coercions: 0, joins: 0/0}
    
    198
    -T18982.$wi :: forall a e. (a GHC.Internal.Prim.~# Int) => e -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
    
    199
    -T18982.$wi = \ (@a) (@e) (ww :: a GHC.Internal.Prim.~# Int) (ww1 :: e) (ww2 :: GHC.Internal.Prim.Int#) -> case ww1 of { __DEFAULT -> GHC.Internal.Prim.+# ww2 1# }
    
    185
    +-- RHS size: {terms: 12, types: 14, coercions: 0, joins: 0/0}
    
    186
    +T18982.$wi :: forall a e. (a GHC.Internal.Prim.~# Int, e ~ Int) => e -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
    
    187
    +T18982.$wi = \ (@a) (@e) (ww :: a GHC.Internal.Prim.~# Int) (ww1 :: e ~ Int) (ww2 :: e) (ww3 :: GHC.Internal.Prim.Int#) -> case ww2 of { __DEFAULT -> GHC.Internal.Prim.+# ww3 1# }
    
    200 188
     
    
    201
    --- RHS size: {terms: 15, types: 22, coercions: 1, joins: 0/0}
    
    189
    +-- RHS size: {terms: 16, types: 22, coercions: 1, joins: 0/0}
    
    202 190
     i :: forall a. ExGADT a -> Int
    
    203
    -i = \ (@a) (ds :: ExGADT a) -> case ds of { ExGADT @e ww ww1 ww2 ww3 -> case ww3 of { GHC.Internal.Types.I# ww4 -> case T18982.$wi @a @e @~(ww :: a GHC.Internal.Prim.~# Int) ww2 ww4 of ww5 { __DEFAULT -> GHC.Internal.Types.I# ww5 } } }
    
    191
    +i = \ (@a) (ds :: ExGADT a) -> case ds of { ExGADT @e ww ww1 ww2 ww3 -> case ww3 of { GHC.Internal.Types.I# ww4 -> case T18982.$wi @a @e @~(ww :: a GHC.Internal.Prim.~# Int) ww1 ww2 ww4 of ww5 { __DEFAULT -> GHC.Internal.Types.I# ww5 } } }
    
    204 192
     
    
    205 193
     -- RHS size: {terms: 6, types: 7, coercions: 0, joins: 0/0}
    
    206 194
     T18982.$wh :: forall a. (a GHC.Internal.Prim.~# Int) => GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
    

  • testsuite/tests/simplCore/should_compile/T26615.stderr
    ... ... @@ -2,7 +2,7 @@
    2 2
     
    
    3 3
     ==================== Tidy Core ====================
    
    4 4
     Result size of Tidy Core
    
    5
    -  = {terms: 1,209, types: 1,155, coercions: 18, joins: 17/29}
    
    5
    +  = {terms: 1,229, types: 1,163, coercions: 18, joins: 17/29}
    
    6 6
     
    
    7 7
     -- RHS size: {terms: 6, types: 8, coercions: 0, joins: 0/0}
    
    8 8
     unArray :: forall a. Array a -> SmallArray# a
    
    ... ... @@ -414,7 +414,7 @@ T26615a.$tc'BitmapIndexed
    414 414
           2#
    
    415 415
           $krep24
    
    416 416
     
    
    417
    --- RHS size: {terms: 98, types: 109, coercions: 0, joins: 3/4}
    
    417
    +-- RHS size: {terms: 101, types: 113, coercions: 0, joins: 3/4}
    
    418 418
     T26615a.$wdisjointCollisions [InlPrag=INLINABLE[2]]
    
    419 419
       :: forall k a b.
    
    420 420
          Eq k =>
    
    ... ... @@ -561,13 +561,14 @@ T26615a.$wdisjointCollisions
    561 561
                         joinrec {
    
    562 562
                           $wlookupInArrayCont_ [InlPrag=[2],
    
    563 563
                                                 Occ=LoopBreaker,
    
    564
    -                                            Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    565
    -                        :: k -> SmallArray# (Leaf k b) -> Int# -> Int# -> Bool
    
    566
    -                      [LclId[JoinId(4)(Just [!])],
    
    567
    -                       Arity=4,
    
    568
    -                       Str=<1L><L><L><L>,
    
    564
    +                                            Dmd=SC(S,C(1,C(1,C(1,C(1,L)))))]
    
    565
    +                        :: Eq k => k -> SmallArray# (Leaf k b) -> Int# -> Int# -> Bool
    
    566
    +                      [LclId[JoinId(5)(Just [~, !])],
    
    567
    +                       Arity=5,
    
    568
    +                       Str=<A><1L><L><L><L>,
    
    569 569
                            Unf=OtherCon []]
    
    570
    -                      $wlookupInArrayCont_ (k1 :: k)
    
    570
    +                      $wlookupInArrayCont_ ($dEq1 [Occ=Dead] :: Eq k)
    
    571
    +                                           (k1 :: k)
    
    571 572
                                                (ww3 :: SmallArray# (Leaf k b))
    
    572 573
                                                (ww4 :: Int#)
    
    573 574
                                                (ww5 :: Int#)
    
    ... ... @@ -578,7 +579,7 @@ T26615a.$wdisjointCollisions
    578 579
                                   { (# ipv2 #) ->
    
    579 580
                                   case ipv2 of { L kx v ->
    
    580 581
                                   case == @k $dEq k2 kx of {
    
    581
    -                                False -> jump $wlookupInArrayCont_ k2 ww3 (+# ww4 1#) ww5;
    
    582
    +                                False -> jump $wlookupInArrayCont_ $dEq k2 ww3 (+# ww4 1#) ww5;
    
    582 583
                                     True -> GHC.Internal.Types.False
    
    583 584
                                   }
    
    584 585
                                   }
    
    ... ... @@ -586,7 +587,7 @@ T26615a.$wdisjointCollisions
    586 587
                                 1# -> jump $j
    
    587 588
                               }
    
    588 589
                               }; } in
    
    589
    -                    jump $wlookupInArrayCont_ kA ww2 0# lvl2
    
    590
    +                    jump $wlookupInArrayCont_ $dEq kA ww2 0# lvl2
    
    590 591
                         }
    
    591 592
                         };
    
    592 593
                       1# -> sc3
    
    ... ... @@ -611,7 +612,7 @@ lvl1
    611 612
       = GHC.Internal.Control.Exception.Base.patError @LiftedRep @() lvl
    
    612 613
     
    
    613 614
     Rec {
    
    614
    --- RHS size: {terms: 133, types: 126, coercions: 0, joins: 1/2}
    
    615
    +-- RHS size: {terms: 136, types: 130, coercions: 0, joins: 1/2}
    
    615 616
     T26615a.disjointSubtrees_$s$wdisjointSubtrees [InlPrag=INLINABLE[2],
    
    616 617
                                                    Occ=LoopBreaker]
    
    617 618
       :: forall k a b.
    
    ... ... @@ -641,13 +642,14 @@ T26615a.disjointSubtrees_$s$wdisjointSubtrees
    641 642
                   joinrec {
    
    642 643
                     $wlookupInArrayCont_ [InlPrag=[2],
    
    643 644
                                           Occ=LoopBreaker,
    
    644
    -                                      Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    645
    -                  :: k -> SmallArray# (Leaf k a) -> Int# -> Int# -> Bool
    
    646
    -                [LclId[JoinId(4)(Just [!])],
    
    647
    -                 Arity=4,
    
    648
    -                 Str=<1L><L><L><L>,
    
    645
    +                                      Dmd=SC(S,C(1,C(1,C(1,C(1,L)))))]
    
    646
    +                  :: Eq k => k -> SmallArray# (Leaf k a) -> Int# -> Int# -> Bool
    
    647
    +                [LclId[JoinId(5)(Just [~, !])],
    
    648
    +                 Arity=5,
    
    649
    +                 Str=<A><1L><L><L><L>,
    
    649 650
                      Unf=OtherCon []]
    
    650
    -                $wlookupInArrayCont_ (k1 :: k)
    
    651
    +                $wlookupInArrayCont_ ($dEq [Occ=Dead] :: Eq k)
    
    652
    +                                     (k1 :: k)
    
    651 653
                                          (ww :: SmallArray# (Leaf k a))
    
    652 654
                                          (ww1 :: Int#)
    
    653 655
                                          (ww2 :: Int#)
    
    ... ... @@ -657,7 +659,7 @@ T26615a.disjointSubtrees_$s$wdisjointSubtrees
    657 659
                             case indexSmallArray# @Lifted @(Leaf k a) ww ww1 of { (# ipv #) ->
    
    658 660
                             case ipv of { L kx v ->
    
    659 661
                             case == @k sc k2 kx of {
    
    660
    -                          False -> jump $wlookupInArrayCont_ k2 ww (+# ww1 1#) ww2;
    
    662
    +                          False -> jump $wlookupInArrayCont_ sc k2 ww (+# ww1 1#) ww2;
    
    661 663
                               True -> GHC.Internal.Types.False
    
    662 664
                             }
    
    663 665
                             }
    
    ... ... @@ -666,7 +668,7 @@ T26615a.disjointSubtrees_$s$wdisjointSubtrees
    666 668
                         }
    
    667 669
                         }; } in
    
    668 670
                   jump $wlookupInArrayCont_
    
    669
    -                k0 sc3 0# (sizeofSmallArray# @Lifted @(Leaf k a) sc3)
    
    671
    +                sc k0 sc3 0# (sizeofSmallArray# @Lifted @(Leaf k a) sc3)
    
    670 672
               }
    
    671 673
               }
    
    672 674
               };
    
    ... ... @@ -708,7 +710,7 @@ T26615a.disjointSubtrees_$s$wdisjointSubtrees
    708 710
     end Rec }
    
    709 711
     
    
    710 712
     Rec {
    
    711
    --- RHS size: {terms: 705, types: 748, coercions: 18, joins: 13/23}
    
    713
    +-- RHS size: {terms: 719, types: 748, coercions: 18, joins: 13/23}
    
    712 714
     T26615a.$wdisjointSubtrees [InlPrag=INLINABLE[2], Occ=LoopBreaker]
    
    713 715
       :: forall k a b. Eq k => Int# -> HashMap k a -> HashMap k b -> Bool
    
    714 716
     [GblId[StrictWorker([~, ~, !])],
    
    ... ... @@ -1065,23 +1067,23 @@ T26615a.$wdisjointSubtrees [InlPrag=INLINABLE[2], Occ=LoopBreaker]
    1065 1067
                                         @(*)
    
    1066 1068
                                         @(SmallArray# (HashMap k a)
    
    1067 1069
                                           -> SmallArray# (HashMap k b) -> Int#)
    
    1068
    -                                    @(GHC.Internal.Types.UnusedType 0 "a"
    
    1069
    -                                      -> GHC.Internal.Types.UnusedType 1 "b" -> Int#)
    
    1070
    +                                    @(GHC.Internal.Types.UnusedType "a_0"
    
    1071
    +                                      -> GHC.Internal.Types.UnusedType "b_1" -> Int#)
    
    1070 1072
                                  of
    
    1071 1073
                                  { GHC.Internal.Unsafe.Coerce.UnsafeRefl v2 ->
    
    1072 1074
                                  case reallyUnsafePtrEquality#
    
    1073 1075
                                         @Lifted
    
    1074 1076
                                         @Lifted
    
    1075
    -                                    @(GHC.Internal.Types.UnusedType 0 "a")
    
    1076
    -                                    @(GHC.Internal.Types.UnusedType 1 "b")
    
    1077
    +                                    @(GHC.Internal.Types.UnusedType "a_0")
    
    1078
    +                                    @(GHC.Internal.Types.UnusedType "b_1")
    
    1077 1079
                                         (bx1
    
    1078 1080
                                          `cast` (SelCo:Fun(arg) (Sub (Sym v2))
    
    1079 1081
                                                  :: SmallArray# (HashMap k a)
    
    1080
    -                                                ~R# GHC.Internal.Types.UnusedType 0 "a"))
    
    1082
    +                                                ~R# GHC.Internal.Types.UnusedType "a_0"))
    
    1081 1083
                                         (bx3
    
    1082 1084
                                          `cast` (SelCo:Fun(arg) (SelCo:Fun(res) (Sub (Sym v2)))
    
    1083 1085
                                                  :: SmallArray# (HashMap k b)
    
    1084
    -                                                ~R# GHC.Internal.Types.UnusedType 1 "b"))
    
    1086
    +                                                ~R# GHC.Internal.Types.UnusedType "b_1"))
    
    1085 1087
                                  of {
    
    1086 1088
                                    __DEFAULT ->
    
    1087 1089
                                      joinrec {
    
    ... ... @@ -1234,23 +1236,23 @@ T26615a.$wdisjointSubtrees [InlPrag=INLINABLE[2], Occ=LoopBreaker]
    1234 1236
                              case GHC.Internal.Unsafe.Coerce.unsafeEqualityProof
    
    1235 1237
                                     @(*)
    
    1236 1238
                                     @(SmallArray# (HashMap k a) -> SmallArray# (HashMap k b) -> Int#)
    
    1237
    -                                @(GHC.Internal.Types.UnusedType 0 "a"
    
    1238
    -                                  -> GHC.Internal.Types.UnusedType 1 "b" -> Int#)
    
    1239
    +                                @(GHC.Internal.Types.UnusedType "a_0"
    
    1240
    +                                  -> GHC.Internal.Types.UnusedType "b_1" -> Int#)
    
    1239 1241
                              of
    
    1240 1242
                              { GHC.Internal.Unsafe.Coerce.UnsafeRefl v2 ->
    
    1241 1243
                              case reallyUnsafePtrEquality#
    
    1242 1244
                                     @Lifted
    
    1243 1245
                                     @Lifted
    
    1244
    -                                @(GHC.Internal.Types.UnusedType 0 "a")
    
    1245
    -                                @(GHC.Internal.Types.UnusedType 1 "b")
    
    1246
    +                                @(GHC.Internal.Types.UnusedType "a_0")
    
    1247
    +                                @(GHC.Internal.Types.UnusedType "b_1")
    
    1246 1248
                                     (bx
    
    1247 1249
                                      `cast` (SelCo:Fun(arg) (Sub (Sym v2))
    
    1248 1250
                                              :: SmallArray# (HashMap k a)
    
    1249
    -                                            ~R# GHC.Internal.Types.UnusedType 0 "a"))
    
    1251
    +                                            ~R# GHC.Internal.Types.UnusedType "a_0"))
    
    1250 1252
                                     (bx1
    
    1251 1253
                                      `cast` (SelCo:Fun(arg) (SelCo:Fun(res) (Sub (Sym v2)))
    
    1252 1254
                                              :: SmallArray# (HashMap k b)
    
    1253
    -                                            ~R# GHC.Internal.Types.UnusedType 1 "b"))
    
    1255
    +                                            ~R# GHC.Internal.Types.UnusedType "b_1"))
    
    1254 1256
                              of {
    
    1255 1257
                                __DEFAULT -> jump go (GHC.Internal.Types.I# 31#);
    
    1256 1258
                                1# -> GHC.Internal.Types.False
    
    ... ... @@ -1310,13 +1312,14 @@ T26615a.$wdisjointSubtrees
    1310 1312
                               joinrec {
    
    1311 1313
                                 $wlookupInArrayCont_ [InlPrag=[2],
    
    1312 1314
                                                       Occ=LoopBreaker,
    
    1313
    -                                                  Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    1314
    -                              :: k -> SmallArray# (Leaf k a) -> Int# -> Int# -> Bool
    
    1315
    -                            [LclId[JoinId(4)(Just [!])],
    
    1316
    -                             Arity=4,
    
    1317
    -                             Str=<1L><L><L><L>,
    
    1315
    +                                                  Dmd=SC(S,C(1,C(1,C(1,C(1,L)))))]
    
    1316
    +                              :: Eq k => k -> SmallArray# (Leaf k a) -> Int# -> Int# -> Bool
    
    1317
    +                            [LclId[JoinId(5)(Just [~, !])],
    
    1318
    +                             Arity=5,
    
    1319
    +                             Str=<A><1L><L><L><L>,
    
    1318 1320
                                  Unf=OtherCon []]
    
    1319
    -                            $wlookupInArrayCont_ (k1 :: k)
    
    1321
    +                            $wlookupInArrayCont_ ($dEq1 [Occ=Dead] :: Eq k)
    
    1322
    +                                                 (k1 :: k)
    
    1320 1323
                                                      (ww2 :: SmallArray# (Leaf k a))
    
    1321 1324
                                                      (ww3 :: Int#)
    
    1322 1325
                                                      (ww4 :: Int#)
    
    ... ... @@ -1327,7 +1330,8 @@ T26615a.$wdisjointSubtrees
    1327 1330
                                         { (# ipv #) ->
    
    1328 1331
                                         case ipv of { L kx v ->
    
    1329 1332
                                         case == @k $dEq k2 kx of {
    
    1330
    -                                      False -> jump $wlookupInArrayCont_ k2 ww2 (+# ww3 1#) ww4;
    
    1333
    +                                      False ->
    
    1334
    +                                        jump $wlookupInArrayCont_ $dEq k2 ww2 (+# ww3 1#) ww4;
    
    1331 1335
                                           True -> GHC.Internal.Types.False
    
    1332 1336
                                         }
    
    1333 1337
                                         }
    
    ... ... @@ -1336,18 +1340,19 @@ T26615a.$wdisjointSubtrees
    1336 1340
                                     }
    
    1337 1341
                                     }; } in
    
    1338 1342
                               jump $wlookupInArrayCont_
    
    1339
    -                            ds4 bx2 0# (sizeofSmallArray# @Lifted @(Leaf k a) bx2)
    
    1343
    +                            $dEq ds4 bx2 0# (sizeofSmallArray# @Lifted @(Leaf k a) bx2)
    
    1340 1344
                           } } in
    
    1341 1345
                     joinrec {
    
    1342 1346
                       $wlookupCont_ [InlPrag=[2],
    
    1343 1347
                                      Occ=LoopBreaker,
    
    1344
    -                                 Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    1345
    -                    :: Word# -> k -> Int# -> HashMap k a -> Bool
    
    1346
    -                  [LclId[JoinId(4)(Just [~, !, ~, !])],
    
    1347
    -                   Arity=4,
    
    1348
    -                   Str=<L><1L><L><1L>,
    
    1348
    +                                 Dmd=SC(S,C(1,C(1,C(1,C(1,L)))))]
    
    1349
    +                    :: Eq k => Word# -> k -> Int# -> HashMap k a -> Bool
    
    1350
    +                  [LclId[JoinId(5)(Just [~, ~, !, ~, !])],
    
    1351
    +                   Arity=5,
    
    1352
    +                   Str=<A><L><1L><L><1L>,
    
    1349 1353
                        Unf=OtherCon []]
    
    1350
    -                  $wlookupCont_ (ww1 :: Word#)
    
    1354
    +                  $wlookupCont_ ($dEq1 [Occ=Dead] :: Eq k)
    
    1355
    +                                (ww1 :: Word#)
    
    1351 1356
                                     (ds4 :: k)
    
    1352 1357
                                     (ww2 :: Int#)
    
    1353 1358
                                     (ds5 :: HashMap k a)
    
    ... ... @@ -1371,7 +1376,7 @@ T26615a.$wdisjointSubtrees
    1371 1376
                                          (word2Int# (popCnt# (and# bx1 (minusWord# m 1##))))
    
    1372 1377
                                   of
    
    1373 1378
                                   { (# ipv #) ->
    
    1374
    -                              jump $wlookupCont_ ww1 ds6 (+# ww2 5#) ipv
    
    1379
    +                              jump $wlookupCont_ $dEq ww1 ds6 (+# ww2 5#) ipv
    
    1375 1380
                                   };
    
    1376 1381
                                 0## -> GHC.Internal.Types.True
    
    1377 1382
                               };
    
    ... ... @@ -1383,11 +1388,11 @@ T26615a.$wdisjointSubtrees
    1383 1388
                                      (word2Int# (and# (uncheckedShiftRL# ww1 ww2) 31##))
    
    1384 1389
                               of
    
    1385 1390
                               { (# ipv #) ->
    
    1386
    -                          jump $wlookupCont_ ww1 ds6 (+# ww2 5#) ipv
    
    1391
    +                          jump $wlookupCont_ $dEq ww1 ds6 (+# ww2 5#) ipv
    
    1387 1392
                               }
    
    1388 1393
                           }
    
    1389 1394
                           }; } in
    
    1390
    -                jump $wlookupCont_ bx k0 ww ds
    
    1395
    +                jump $wlookupCont_ $dEq bx k0 ww ds
    
    1391 1396
                     }
    
    1392 1397
                     };
    
    1393 1398
                   Collision bx bx1 ->
    
    ... ... @@ -1435,13 +1440,14 @@ T26615a.$wdisjointSubtrees
    1435 1440
                             joinrec {
    
    1436 1441
                               $wlookupInArrayCont_ [InlPrag=[2],
    
    1437 1442
                                                     Occ=LoopBreaker,
    
    1438
    -                                                Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    1439
    -                            :: k -> SmallArray# (Leaf k b) -> Int# -> Int# -> Bool
    
    1440
    -                          [LclId[JoinId(4)(Just [!])],
    
    1441
    -                           Arity=4,
    
    1442
    -                           Str=<1L><L><L><L>,
    
    1443
    +                                                Dmd=SC(S,C(1,C(1,C(1,C(1,L)))))]
    
    1444
    +                            :: Eq k => k -> SmallArray# (Leaf k b) -> Int# -> Int# -> Bool
    
    1445
    +                          [LclId[JoinId(5)(Just [~, !])],
    
    1446
    +                           Arity=5,
    
    1447
    +                           Str=<A><1L><L><L><L>,
    
    1443 1448
                                Unf=OtherCon []]
    
    1444
    -                          $wlookupInArrayCont_ (k1 :: k)
    
    1449
    +                          $wlookupInArrayCont_ ($dEq1 [Occ=Dead] :: Eq k)
    
    1450
    +                                               (k1 :: k)
    
    1445 1451
                                                    (ww2 :: SmallArray# (Leaf k b))
    
    1446 1452
                                                    (ww3 :: Int#)
    
    1447 1453
                                                    (ww4 :: Int#)
    
    ... ... @@ -1452,7 +1458,7 @@ T26615a.$wdisjointSubtrees
    1452 1458
                                       { (# ipv #) ->
    
    1453 1459
                                       case ipv of { L kx v ->
    
    1454 1460
                                       case == @k $dEq k2 kx of {
    
    1455
    -                                    False -> jump $wlookupInArrayCont_ k2 ww2 (+# ww3 1#) ww4;
    
    1461
    +                                    False -> jump $wlookupInArrayCont_ $dEq k2 ww2 (+# ww3 1#) ww4;
    
    1456 1462
                                         True -> GHC.Internal.Types.False
    
    1457 1463
                                       }
    
    1458 1464
                                       }
    
    ... ... @@ -1461,18 +1467,19 @@ T26615a.$wdisjointSubtrees
    1461 1467
                                   }
    
    1462 1468
                                   }; } in
    
    1463 1469
                             jump $wlookupInArrayCont_
    
    1464
    -                          ds3 bx2 0# (sizeofSmallArray# @Lifted @(Leaf k b) bx2)
    
    1470
    +                          $dEq ds3 bx2 0# (sizeofSmallArray# @Lifted @(Leaf k b) bx2)
    
    1465 1471
                         } } in
    
    1466 1472
                   joinrec {
    
    1467 1473
                     $wlookupCont_ [InlPrag=[2],
    
    1468 1474
                                    Occ=LoopBreaker,
    
    1469
    -                               Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    1470
    -                  :: Word# -> k -> Int# -> HashMap k b -> Bool
    
    1471
    -                [LclId[JoinId(4)(Just [~, !, ~, !])],
    
    1472
    -                 Arity=4,
    
    1473
    -                 Str=<L><1L><L><1L>,
    
    1475
    +                               Dmd=SC(S,C(1,C(1,C(1,C(1,L)))))]
    
    1476
    +                  :: Eq k => Word# -> k -> Int# -> HashMap k b -> Bool
    
    1477
    +                [LclId[JoinId(5)(Just [~, ~, !, ~, !])],
    
    1478
    +                 Arity=5,
    
    1479
    +                 Str=<A><L><1L><L><1L>,
    
    1474 1480
                      Unf=OtherCon []]
    
    1475
    -                $wlookupCont_ (ww1 :: Word#)
    
    1481
    +                $wlookupCont_ ($dEq1 [Occ=Dead] :: Eq k)
    
    1482
    +                              (ww1 :: Word#)
    
    1476 1483
                                   (ds3 :: k)
    
    1477 1484
                                   (ww2 :: Int#)
    
    1478 1485
                                   (ds4 :: HashMap k b)
    
    ... ... @@ -1496,7 +1503,7 @@ T26615a.$wdisjointSubtrees
    1496 1503
                                        (word2Int# (popCnt# (and# bx1 (minusWord# m 1##))))
    
    1497 1504
                                 of
    
    1498 1505
                                 { (# ipv #) ->
    
    1499
    -                            jump $wlookupCont_ ww1 ds5 (+# ww2 5#) ipv
    
    1506
    +                            jump $wlookupCont_ $dEq ww1 ds5 (+# ww2 5#) ipv
    
    1500 1507
                                 };
    
    1501 1508
                               0## -> GHC.Internal.Types.True
    
    1502 1509
                             };
    
    ... ... @@ -1508,11 +1515,11 @@ T26615a.$wdisjointSubtrees
    1508 1515
                                    (word2Int# (and# (uncheckedShiftRL# ww1 ww2) 31##))
    
    1509 1516
                             of
    
    1510 1517
                             { (# ipv #) ->
    
    1511
    -                        jump $wlookupCont_ ww1 ds5 (+# ww2 5#) ipv
    
    1518
    +                        jump $wlookupCont_ $dEq ww1 ds5 (+# ww2 5#) ipv
    
    1512 1519
                             }
    
    1513 1520
                         }
    
    1514 1521
                         }; } in
    
    1515
    -              jump $wlookupCont_ bx k0 ww wild2
    
    1522
    +              jump $wlookupCont_ $dEq bx k0 ww wild2
    
    1516 1523
                   };
    
    1517 1524
                 Leaf bx1 ds3 ->
    
    1518 1525
                   case ds3 of { L kB ds4 ->
    
    ... ... @@ -1570,23 +1577,23 @@ T26615a.$wdisjointSubtrees
    1570 1577
                       case GHC.Internal.Unsafe.Coerce.unsafeEqualityProof
    
    1571 1578
                              @(*)
    
    1572 1579
                              @(SmallArray# (HashMap k a) -> SmallArray# (HashMap k b) -> Int#)
    
    1573
    -                         @(GHC.Internal.Types.UnusedType 0 "a"
    
    1574
    -                           -> GHC.Internal.Types.UnusedType 1 "b" -> Int#)
    
    1580
    +                         @(GHC.Internal.Types.UnusedType "a_0"
    
    1581
    +                           -> GHC.Internal.Types.UnusedType "b_1" -> Int#)
    
    1575 1582
                       of
    
    1576 1583
                       { GHC.Internal.Unsafe.Coerce.UnsafeRefl v2 ->
    
    1577 1584
                       case reallyUnsafePtrEquality#
    
    1578 1585
                              @Lifted
    
    1579 1586
                              @Lifted
    
    1580
    -                         @(GHC.Internal.Types.UnusedType 0 "a")
    
    1581
    -                         @(GHC.Internal.Types.UnusedType 1 "b")
    
    1587
    +                         @(GHC.Internal.Types.UnusedType "a_0")
    
    1588
    +                         @(GHC.Internal.Types.UnusedType "b_1")
    
    1582 1589
                              (bx1
    
    1583 1590
                               `cast` (SelCo:Fun(arg) (Sub (Sym v2))
    
    1584 1591
                                       :: SmallArray# (HashMap k a)
    
    1585
    -                                     ~R# GHC.Internal.Types.UnusedType 0 "a"))
    
    1592
    +                                     ~R# GHC.Internal.Types.UnusedType "a_0"))
    
    1586 1593
                              (bx3
    
    1587 1594
                               `cast` (SelCo:Fun(arg) (SelCo:Fun(res) (Sub (Sym v2)))
    
    1588 1595
                                       :: SmallArray# (HashMap k b)
    
    1589
    -                                     ~R# GHC.Internal.Types.UnusedType 1 "b"))
    
    1596
    +                                     ~R# GHC.Internal.Types.UnusedType "b_1"))
    
    1590 1597
                       of {
    
    1591 1598
                         __DEFAULT ->
    
    1592 1599
                           let {
    
    ... ... @@ -1715,23 +1722,23 @@ T26615a.$wdisjointSubtrees
    1715 1722
                   case GHC.Internal.Unsafe.Coerce.unsafeEqualityProof
    
    1716 1723
                          @(*)
    
    1717 1724
                          @(SmallArray# (HashMap k a) -> SmallArray# (HashMap k b) -> Int#)
    
    1718
    -                     @(GHC.Internal.Types.UnusedType 0 "a"
    
    1719
    -                       -> GHC.Internal.Types.UnusedType 1 "b" -> Int#)
    
    1725
    +                     @(GHC.Internal.Types.UnusedType "a_0"
    
    1726
    +                       -> GHC.Internal.Types.UnusedType "b_1" -> Int#)
    
    1720 1727
                   of
    
    1721 1728
                   { GHC.Internal.Unsafe.Coerce.UnsafeRefl v2 ->
    
    1722 1729
                   case reallyUnsafePtrEquality#
    
    1723 1730
                          @Lifted
    
    1724 1731
                          @Lifted
    
    1725
    -                     @(GHC.Internal.Types.UnusedType 0 "a")
    
    1726
    -                     @(GHC.Internal.Types.UnusedType 1 "b")
    
    1732
    +                     @(GHC.Internal.Types.UnusedType "a_0")
    
    1733
    +                     @(GHC.Internal.Types.UnusedType "b_1")
    
    1727 1734
                          (bx
    
    1728 1735
                           `cast` (SelCo:Fun(arg) (Sub (Sym v2))
    
    1729 1736
                                   :: SmallArray# (HashMap k a)
    
    1730
    -                                 ~R# GHC.Internal.Types.UnusedType 0 "a"))
    
    1737
    +                                 ~R# GHC.Internal.Types.UnusedType "a_0"))
    
    1731 1738
                          (bx1
    
    1732 1739
                           `cast` (SelCo:Fun(arg) (SelCo:Fun(res) (Sub (Sym v2)))
    
    1733 1740
                                   :: SmallArray# (HashMap k b)
    
    1734
    -                                 ~R# GHC.Internal.Types.UnusedType 1 "b"))
    
    1741
    +                                 ~R# GHC.Internal.Types.UnusedType "b_1"))
    
    1735 1742
                   of {
    
    1736 1743
                     __DEFAULT ->
    
    1737 1744
                       let {
    
    ... ... @@ -1838,7 +1845,7 @@ disjointSubtrees
    1838 1845
     
    
    1839 1846
     ==================== Tidy Core ====================
    
    1840 1847
     Result size of Tidy Core
    
    1841
    -  = {terms: 614, types: 682, coercions: 18, joins: 8/14}
    
    1848
    +  = {terms: 622, types: 674, coercions: 18, joins: 8/14}
    
    1842 1849
     
    
    1843 1850
     -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
    
    1844 1851
     $trModule1 :: GHC.Internal.Prim.Addr#
    
    ... ... @@ -1878,20 +1885,22 @@ lvl1
    1878 1885
           @GHC.Internal.Types.LiftedRep @() lvl
    
    1879 1886
     
    
    1880 1887
     Rec {
    
    1881
    --- RHS size: {terms: 37, types: 30, coercions: 0, joins: 0/0}
    
    1888
    +-- RHS size: {terms: 39, types: 32, coercions: 0, joins: 0/0}
    
    1882 1889
     $wpoly_lookupInArrayCont_
    
    1883 1890
       :: forall a.
    
    1891
    +     Eq String =>
    
    1884 1892
          String
    
    1885 1893
          -> GHC.Internal.Prim.SmallArray# (T26615a.Leaf String a)
    
    1886 1894
          -> GHC.Internal.Prim.Int#
    
    1887 1895
          -> GHC.Internal.Prim.Int#
    
    1888 1896
          -> Bool
    
    1889
    -[GblId[StrictWorker([!])],
    
    1890
    - Arity=4,
    
    1891
    - Str=<1L><L><L><L>,
    
    1897
    +[GblId[StrictWorker([~, !])],
    
    1898
    + Arity=5,
    
    1899
    + Str=<A><1L><L><L><L>,
    
    1892 1900
      Unf=OtherCon []]
    
    1893 1901
     $wpoly_lookupInArrayCont_
    
    1894 1902
       = \ (@a)
    
    1903
    +      ($dEq2 [Occ=Dead] :: Eq String)
    
    1895 1904
           (k1 :: String)
    
    1896 1905
           (ww :: GHC.Internal.Prim.SmallArray# (T26615a.Leaf String a))
    
    1897 1906
           (ww1 :: GHC.Internal.Prim.Int#)
    
    ... ... @@ -1907,7 +1916,12 @@ $wpoly_lookupInArrayCont_
    1907 1916
               case GHC.Internal.Base.eqString k2 kx of {
    
    1908 1917
                 False ->
    
    1909 1918
                   $wpoly_lookupInArrayCont_
    
    1910
    -                @a k2 ww (GHC.Internal.Prim.+# ww1 1#) ww2;
    
    1919
    +                @a
    
    1920
    +                GHC.Internal.Classes.$fEqList_$s$fEqList1
    
    1921
    +                k2
    
    1922
    +                ww
    
    1923
    +                (GHC.Internal.Prim.+# ww1 1#)
    
    1924
    +                ww2;
    
    1911 1925
                 True -> GHC.Internal.Types.False
    
    1912 1926
               }
    
    1913 1927
               }
    
    ... ... @@ -1918,17 +1932,19 @@ $wpoly_lookupInArrayCont_
    1918 1932
     end Rec }
    
    1919 1933
     
    
    1920 1934
     Rec {
    
    1921
    --- RHS size: {terms: 98, types: 73, coercions: 0, joins: 0/1}
    
    1935
    +-- RHS size: {terms: 102, types: 75, coercions: 0, joins: 0/1}
    
    1922 1936
     $wpoly_lookupCont_
    
    1923 1937
       :: forall a.
    
    1938
    +     Eq String =>
    
    1924 1939
          GHC.Internal.Prim.Word#
    
    1925 1940
          -> String -> GHC.Internal.Prim.Int# -> HashMap String a -> Bool
    
    1926
    -[GblId[StrictWorker([~, !, ~, !])],
    
    1927
    - Arity=4,
    
    1928
    - Str=<L><1L><L><1L>,
    
    1941
    +[GblId[StrictWorker([~, ~, !, ~, !])],
    
    1942
    + Arity=5,
    
    1943
    + Str=<A><L><1L><L><1L>,
    
    1929 1944
      Unf=OtherCon []]
    
    1930 1945
     $wpoly_lookupCont_
    
    1931 1946
       = \ (@a)
    
    1947
    +      ($dEq1 [Occ=Dead] :: Eq String)
    
    1932 1948
           (ww :: GHC.Internal.Prim.Word#)
    
    1933 1949
           (ds5 :: String)
    
    1934 1950
           (ww1 :: GHC.Internal.Prim.Int#)
    
    ... ... @@ -1953,6 +1969,7 @@ $wpoly_lookupCont_
    1953 1969
                 1# ->
    
    1954 1970
                   $wpoly_lookupInArrayCont_
    
    1955 1971
                     @a
    
    1972
    +                GHC.Internal.Classes.$fEqList_$s$fEqList1
    
    1956 1973
                     ds9
    
    1957 1974
                     bx2
    
    1958 1975
                     0#
    
    ... ... @@ -1979,7 +1996,13 @@ $wpoly_lookupCont_
    1979 1996
                                (GHC.Internal.Prim.and# bx1 (GHC.Internal.Prim.minusWord# m 1##))))
    
    1980 1997
                   of
    
    1981 1998
                   { (# ipv2 #) ->
    
    1982
    -              $wpoly_lookupCont_ @a ww ds9 (GHC.Internal.Prim.+# ww1 5#) ipv2
    
    1999
    +              $wpoly_lookupCont_
    
    2000
    +                @a
    
    2001
    +                GHC.Internal.Classes.$fEqList_$s$fEqList1
    
    2002
    +                ww
    
    2003
    +                ds9
    
    2004
    +                (GHC.Internal.Prim.+# ww1 5#)
    
    2005
    +                ipv2
    
    1983 2006
                   };
    
    1984 2007
                 0## -> GHC.Internal.Types.True
    
    1985 2008
               };
    
    ... ... @@ -1993,14 +2016,20 @@ $wpoly_lookupCont_
    1993 2016
                            (GHC.Internal.Prim.uncheckedShiftRL# ww ww1) 31##))
    
    1994 2017
               of
    
    1995 2018
               { (# ipv2 #) ->
    
    1996
    -          $wpoly_lookupCont_ @a ww ds9 (GHC.Internal.Prim.+# ww1 5#) ipv2
    
    2019
    +          $wpoly_lookupCont_
    
    2020
    +            @a
    
    2021
    +            GHC.Internal.Classes.$fEqList_$s$fEqList1
    
    2022
    +            ww
    
    2023
    +            ds9
    
    2024
    +            (GHC.Internal.Prim.+# ww1 5#)
    
    2025
    +            ipv2
    
    1997 2026
               }
    
    1998 2027
           }
    
    1999 2028
           }
    
    2000 2029
     end Rec }
    
    2001 2030
     
    
    2002 2031
     Rec {
    
    2003
    --- RHS size: {terms: 448, types: 523, coercions: 18, joins: 8/13}
    
    2032
    +-- RHS size: {terms: 450, types: 507, coercions: 18, joins: 8/13}
    
    2004 2033
     T26615.$s$wdisjointSubtrees [InlPrag=[~], Occ=LoopBreaker]
    
    2005 2034
       :: forall a b.
    
    2006 2035
          GHC.Internal.Prim.Int#
    
    ... ... @@ -2021,7 +2050,8 @@ T26615.$s$wdisjointSubtrees
    2021 2050
                   T26615a.Empty -> GHC.Internal.Types.True;
    
    2022 2051
                   T26615a.Leaf bx ds2 ->
    
    2023 2052
                     case ds2 of { T26615a.L kB ds3 ->
    
    2024
    -                $wpoly_lookupCont_ @a bx kB ww ds
    
    2053
    +                $wpoly_lookupCont_
    
    2054
    +                  @a GHC.Internal.Classes.$fEqList_$s$fEqList1 bx kB ww ds
    
    2025 2055
                     };
    
    2026 2056
                   T26615a.Collision bx bx1 ->
    
    2027 2057
                     T26615.$s$wdisjointSubtrees @b @a ww wild ds
    
    ... ... @@ -2031,7 +2061,9 @@ T26615.$s$wdisjointSubtrees
    2031 2061
             T26615a.Leaf bx ds1 ->
    
    2032 2062
               case ds1 of { T26615a.L kA ds2 ->
    
    2033 2063
               case _b of wild2 {
    
    2034
    -            __DEFAULT -> $wpoly_lookupCont_ @b bx kA ww wild2;
    
    2064
    +            __DEFAULT ->
    
    2065
    +              $wpoly_lookupCont_
    
    2066
    +                @b GHC.Internal.Classes.$fEqList_$s$fEqList1 bx kA ww wild2;
    
    2035 2067
                 T26615a.Leaf bx1 ds3 ->
    
    2036 2068
                   case ds3 of { T26615a.L kB ds4 ->
    
    2037 2069
                   case GHC.Internal.Prim.neWord# bx bx1 of {
    
    ... ... @@ -2085,9 +2117,9 @@ T26615.$s$wdisjointSubtrees
    2085 2117
                                   [LclId[JoinId(0)(Nothing)]]
    
    2086 2118
                                   $j = jump $s$wfoldr_ sc sc1 (GHC.Internal.Prim.+# sc2 1#) sc3 } in
    
    2087 2119
                                 joinrec {
    
    2088
    -                              $wlookupInArrayCont_ [InlPrag=[2],
    
    2089
    -                                                    Occ=LoopBreaker,
    
    2090
    -                                                    Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    2120
    +                              $w$slookupInArrayCont_ [InlPrag=[2],
    
    2121
    +                                                      Occ=LoopBreaker,
    
    2122
    +                                                      Dmd=SC(S,C(1,C(1,C(1,L))))]
    
    2091 2123
                                     :: String
    
    2092 2124
                                        -> GHC.Internal.Prim.SmallArray# (T26615a.Leaf String b)
    
    2093 2125
                                        -> GHC.Internal.Prim.Int#
    
    ... ... @@ -2097,12 +2129,12 @@ T26615.$s$wdisjointSubtrees
    2097 2129
                                    Arity=4,
    
    2098 2130
                                    Str=<1L><L><L><L>,
    
    2099 2131
                                    Unf=OtherCon []]
    
    2100
    -                              $wlookupInArrayCont_ (k1 :: String)
    
    2101
    -                                                   (ww1
    
    2102
    -                                                      :: GHC.Internal.Prim.SmallArray#
    
    2103
    -                                                           (T26615a.Leaf String b))
    
    2104
    -                                                   (ww2 :: GHC.Internal.Prim.Int#)
    
    2105
    -                                                   (ww3 :: GHC.Internal.Prim.Int#)
    
    2132
    +                              $w$slookupInArrayCont_ (k1 :: String)
    
    2133
    +                                                     (ww1
    
    2134
    +                                                        :: GHC.Internal.Prim.SmallArray#
    
    2135
    +                                                             (T26615a.Leaf String b))
    
    2136
    +                                                     (ww2 :: GHC.Internal.Prim.Int#)
    
    2137
    +                                                     (ww3 :: GHC.Internal.Prim.Int#)
    
    2106 2138
                                     = case k1 of k2 { __DEFAULT ->
    
    2107 2139
                                       case GHC.Internal.Prim.>=# ww2 ww3 of {
    
    2108 2140
                                         __DEFAULT ->
    
    ... ... @@ -2116,7 +2148,7 @@ T26615.$s$wdisjointSubtrees
    2116 2148
                                           case ipv5 of { T26615a.L kx v ->
    
    2117 2149
                                           case GHC.Internal.Base.eqString k2 kx of {
    
    2118 2150
                                             False ->
    
    2119
    -                                          jump $wlookupInArrayCont_
    
    2151
    +                                          jump $w$slookupInArrayCont_
    
    2120 2152
                                                 k2 ww1 (GHC.Internal.Prim.+# ww2 1#) ww3;
    
    2121 2153
                                             True -> GHC.Internal.Types.False
    
    2122 2154
                                           }
    
    ... ... @@ -2125,7 +2157,7 @@ T26615.$s$wdisjointSubtrees
    2125 2157
                                         1# -> jump $j
    
    2126 2158
                                       }
    
    2127 2159
                                       }; } in
    
    2128
    -                            jump $wlookupInArrayCont_ kA bx3 0# lvl2
    
    2160
    +                            jump $w$slookupInArrayCont_ kA bx3 0# lvl2
    
    2129 2161
                                 }
    
    2130 2162
                                 };
    
    2131 2163
                               1# -> sc3
    
    ... ... @@ -2187,23 +2219,23 @@ T26615.$s$wdisjointSubtrees
    2187 2219
                              @(GHC.Internal.Prim.SmallArray# (HashMap String a)
    
    2188 2220
                                -> GHC.Internal.Prim.SmallArray# (HashMap String b)
    
    2189 2221
                                -> GHC.Internal.Prim.Int#)
    
    2190
    -                         @(GHC.Internal.Types.UnusedType 0 "a"
    
    2191
    -                           -> GHC.Internal.Types.UnusedType 1 "b" -> GHC.Internal.Prim.Int#)
    
    2222
    +                         @(GHC.Internal.Types.UnusedType "a_0"
    
    2223
    +                           -> GHC.Internal.Types.UnusedType "b_1" -> GHC.Internal.Prim.Int#)
    
    2192 2224
                       of
    
    2193 2225
                       { GHC.Internal.Unsafe.Coerce.UnsafeRefl v2 ->
    
    2194 2226
                       case GHC.Internal.Prim.reallyUnsafePtrEquality#
    
    2195 2227
                              @GHC.Internal.Types.Lifted
    
    2196 2228
                              @GHC.Internal.Types.Lifted
    
    2197
    -                         @(GHC.Internal.Types.UnusedType 0 "a")
    
    2198
    -                         @(GHC.Internal.Types.UnusedType 1 "b")
    
    2229
    +                         @(GHC.Internal.Types.UnusedType "a_0")
    
    2230
    +                         @(GHC.Internal.Types.UnusedType "b_1")
    
    2199 2231
                              (bx1
    
    2200 2232
                               `cast` (SelCo:Fun(arg) (Sub (Sym v2))
    
    2201 2233
                                       :: GHC.Internal.Prim.SmallArray# (HashMap String a)
    
    2202
    -                                     ~R# GHC.Internal.Types.UnusedType 0 "a"))
    
    2234
    +                                     ~R# GHC.Internal.Types.UnusedType "a_0"))
    
    2203 2235
                              (bx3
    
    2204 2236
                               `cast` (SelCo:Fun(arg) (SelCo:Fun(res) (Sub (Sym v2)))
    
    2205 2237
                                       :: GHC.Internal.Prim.SmallArray# (HashMap String b)
    
    2206
    -                                     ~R# GHC.Internal.Types.UnusedType 1 "b"))
    
    2238
    +                                     ~R# GHC.Internal.Types.UnusedType "b_1"))
    
    2207 2239
                       of {
    
    2208 2240
                         __DEFAULT ->
    
    2209 2241
                           joinrec {
    
    ... ... @@ -2365,23 +2397,23 @@ T26615.$s$wdisjointSubtrees
    2365 2397
                          @(GHC.Internal.Prim.SmallArray# (HashMap String a)
    
    2366 2398
                            -> GHC.Internal.Prim.SmallArray# (HashMap String b)
    
    2367 2399
                            -> GHC.Internal.Prim.Int#)
    
    2368
    -                     @(GHC.Internal.Types.UnusedType 0 "a"
    
    2369
    -                       -> GHC.Internal.Types.UnusedType 1 "b" -> GHC.Internal.Prim.Int#)
    
    2400
    +                     @(GHC.Internal.Types.UnusedType "a_0"
    
    2401
    +                       -> GHC.Internal.Types.UnusedType "b_1" -> GHC.Internal.Prim.Int#)
    
    2370 2402
                   of
    
    2371 2403
                   { GHC.Internal.Unsafe.Coerce.UnsafeRefl v2 ->
    
    2372 2404
                   case GHC.Internal.Prim.reallyUnsafePtrEquality#
    
    2373 2405
                          @GHC.Internal.Types.Lifted
    
    2374 2406
                          @GHC.Internal.Types.Lifted
    
    2375
    -                     @(GHC.Internal.Types.UnusedType 0 "a")
    
    2376
    -                     @(GHC.Internal.Types.UnusedType 1 "b")
    
    2407
    +                     @(GHC.Internal.Types.UnusedType "a_0")
    
    2408
    +                     @(GHC.Internal.Types.UnusedType "b_1")
    
    2377 2409
                          (bx
    
    2378 2410
                           `cast` (SelCo:Fun(arg) (Sub (Sym v2))
    
    2379 2411
                                   :: GHC.Internal.Prim.SmallArray# (HashMap String a)
    
    2380
    -                                 ~R# GHC.Internal.Types.UnusedType 0 "a"))
    
    2412
    +                                 ~R# GHC.Internal.Types.UnusedType "a_0"))
    
    2381 2413
                          (bx1
    
    2382 2414
                           `cast` (SelCo:Fun(arg) (SelCo:Fun(res) (Sub (Sym v2)))
    
    2383 2415
                                   :: GHC.Internal.Prim.SmallArray# (HashMap String b)
    
    2384
    -                                 ~R# GHC.Internal.Types.UnusedType 1 "b"))
    
    2416
    +                                 ~R# GHC.Internal.Types.UnusedType "b_1"))
    
    2385 2417
                   of {
    
    2386 2418
                     __DEFAULT ->
    
    2387 2419
                       joinrec {