+
+
+================================================================================
+Typechecked:
+{- nonrec -}
+{- nonrec -}
+MkBar{-r4H,x-}{i} =
+ _/\_ a{-r4B-} b{-r4C-} -> \ tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 ->
+ MkBar{-r4H,x-}{i}
+ {_@_ a{-r4B-} _@_ b{-r4C-} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5}
+{- nonrec -}
+Foo1{-r4t,x-}{i} =
+ Foo1{-r4t,x-}{i}
+ {}
+Foo2{-r4s,x-}{i} =
+ Foo2{-r4s,x-}{i}
+ {}
+Foo3{-r4u,x-}{i} =
+ Foo3{-r4u,x-}{i}
+ {}
+Foo4{-r4v,x-}{i} =
+ Foo4{-r4v,x-}{i}
+ {}
+Foo5{-r4w,x-}{i} =
+ Foo5{-r4w,x-}{i}
+ {}
+Foo6{-r4x,x-}{i} =
+ Foo6{-r4x,x-}{i}
+ {}
+Foo7{-r4y,x-}{i} =
+ Foo7{-r4y,x-}{i}
+ {}
+Foo8{-r4z,x-}{i} =
+ Foo8{-r4z,x-}{i}
+ {}
+{- rec -}
+AbsBinds [] [] [([], $d1{-r193,x-}, d.Eq_a14i)]
+ ==_a19a =
+ ==_a199
+ AbsBinds [] [] [([], ==_a199, ==_a14l)]
+ ==_a14l
+ a_r10n b_r10p
+ = case
+ con2tag_Foo#_r101
+ a_r10n
+ of
+ a#_r10r -> case
+ con2tag_Foo#_r101
+ b_r10p
+ of
+ b#_r10t -> if a#_r10r GHC.==#{-79,p-}{I} b#_r10t then
+ PrelBase.True{-5E,p-}{i}
+ else
+ PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], /=_a198, /=_a14x)]
+ /=_a14x
+ a_r10x b_r10z
+ = PrelBase.not{-rho,p-}
+ ==_a19a
+ a_r10x b_r10z
+ d.Eq_a14i =
+ ({-dict-} [] [==_a199, /=_a198])
+{- rec -}
+AbsBinds
+[a{-a191-}, b{-a192-}]
+[]
+[([a{-a191-}, b{-a192-}], $d2{-r19b,x-}, d.Eval_a14N)]
+ d.Eval_a14N =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [] [] [([], $d3{-r19c,x-}, d.Eval_a14S)]
+ d.Eval_a14S =
+ ({-dict-} [] [])
+{- rec -}
+AbsBinds [] [] [([], $d4{-r19d,x-}, d.Ord_a14X)]
+ d.Eq_a16H =
+ $d1{-r193,x-}
+ compare_a19q =
+ compare_a19k
+ compare_a19p =
+ compare_a19k
+ compare_a19o =
+ compare_a19k
+ compare_a19n =
+ compare_a19k
+ compare_a19m =
+ compare_a19k
+ compare_a19l =
+ compare_a19k
+ AbsBinds [] [] [([], compare_a19k, compare_a150)]
+ compare_a150
+ a_r11y b_r11A
+ = case
+ con2tag_Foo#_r101
+ a_r11y
+ of
+ a#_r11G -> case
+ con2tag_Foo#_r101
+ b_r11A
+ of
+ b#_r11I -> if a#_r11G GHC.==#{-79,p-}{I} b#_r11I then
+ PrelBase.EQ{-rbX,p-}{i}
+ else
+ if a#_r11G GHC.<#{-7b,p-}{I} b#_r11I then
+ PrelBase.LT{-rbY,p-}{i}
+ else
+ PrelBase.GT{-rbZ,p-}{i}
+ where
+ {- nonrec -}
+ AbsBinds
+ [t{-a15e-}, t{-a15g-}]
+ []
+ [([t{-a15e-}, t{-a15g-}], cmp_eq_r11C, cmp_eq_a154)]
+ cmp_eq_a154
+ _ _ = PrelBase.EQ{-rbX,p-}{i}
+ {- nonrec -}
+ AbsBinds [] [] [([], <_a19j, <_a15q)]
+ <_a15q
+ a_r10G b_r10I
+ = case
+ compare_a19q
+ a_r10G b_r10I
+ of
+ PrelBase.LT{-rbY,p-}{i}
+ -> PrelBase.True{-5E,p-}{i}
+ PrelBase.EQ{-rbX,p-}{i}
+ -> PrelBase.False{-58,p-}{i}
+ PrelBase.GT{-rbZ,p-}{i}
+ -> PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], <=_a19i, <=_a15D)]
+ <=_a15D
+ a_r10P b_r10R
+ = case
+ compare_a19p
+ a_r10P b_r10R
+ of
+ PrelBase.LT{-rbY,p-}{i}
+ -> PrelBase.True{-5E,p-}{i}
+ PrelBase.EQ{-rbX,p-}{i}
+ -> PrelBase.True{-5E,p-}{i}
+ PrelBase.GT{-rbZ,p-}{i}
+ -> PrelBase.False{-58,p-}{i}
+ AbsBinds [] [] [([], >=_a19h, >=_a15Q)]
+ >=_a15Q
+ a_r10Y b_r110
+ = case
+ compare_a19o
+ a_r10Y b_r110
+ of
+ PrelBase.LT{-rbY,p-}{i}
+ -> PrelBase.False{-58,p-}{i}
+ PrelBase.EQ{-rbX,p-}{i}
+ -> PrelBase.True{-5E,p-}{i}
+ PrelBase.GT{-rbZ,p-}{i}
+ -> PrelBase.True{-5E,p-}{i}
+ AbsBinds [] [] [([], >_a19g, >_a163)]
+ >_a163
+ a_r117 b_r119
+ = case
+ compare_a19n
+ a_r117 b_r119
+ of
+ PrelBase.LT{-rbY,p-}{i}
+ -> PrelBase.False{-58,p-}{i}
+ PrelBase.EQ{-rbX,p-}{i}
+ -> PrelBase.False{-58,p-}{i}
+ PrelBase.GT{-rbZ,p-}{i}
+ -> PrelBase.True{-5E,p-}{i}
+ AbsBinds [] [] [([], max_a19f, max_a16g)]
+ max_a16g
+ a_r11g b_r11i
+ = case
+ compare_a19m
+ a_r11g b_r11i
+ of
+ PrelBase.LT{-rbY,p-}{i}
+ -> b_r11i
+ PrelBase.EQ{-rbX,p-}{i}
+ -> a_r11g
+ PrelBase.GT{-rbZ,p-}{i}
+ -> a_r11g
+ AbsBinds [] [] [([], min_a19e, min_a16v)]
+ min_a16v
+ a_r11p b_r11r
+ = case
+ compare_a19l
+ a_r11p b_r11r
+ of
+ PrelBase.LT{-rbY,p-}{i}
+ -> a_r11p
+ PrelBase.EQ{-rbX,p-}{i}
+ -> b_r11r
+ PrelBase.GT{-rbZ,p-}{i}
+ -> b_r11r
+ d.Ord_a14X =
+ ({-dict-}
+ [d.Eq_a16H]
+ [compare_a19k, <_a19j, <=_a19i, >=_a19h, >_a19g, max_a19f, min_a19e])
+{- rec -}
+AbsBinds [] [] [([], $d5{-r19r,x-}, d.Show_a16O)]
+ showsPrec_a19u =
+ showsPrec_a19t
+ AbsBinds [] [] [([], showsPrec_a19t, showsPrec_a16R)]
+ showsPrec_a16R
+ a_r11N Foo1{-r4t,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo1"
+ showsPrec_a16R
+ a_r11Q Foo2{-r4s,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo2"
+ showsPrec_a16R
+ a_r11T Foo3{-r4u,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo3"
+ showsPrec_a16R
+ a_r11W Foo4{-r4v,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo4"
+ showsPrec_a16R
+ a_r11Z Foo5{-r4w,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo5"
+ showsPrec_a16R
+ a_r122 Foo6{-r4x,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo6"
+ showsPrec_a16R
+ a_r125 Foo7{-r4y,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo7"
+ showsPrec_a16R
+ a_r128 Foo8{-r4z,x-}{i}
+ = PrelBase.showString{-rjF,p-}
+ "Foo8"
+ AbsBinds [] [] [([], showList_a19s, showList_a173)]
+ showList_a173
+ = PrelBase.showList__{-r4G,p-}
+ Foo{-r4J,x-}
+ showsPrec_a19u
+ lit_a196
+ d.Show_a16O =
+ ({-dict-} [] [showsPrec_a19t, showList_a19s])
+{- rec -}
+AbsBinds [] [] [([], $d6{-r19v,x-}, d.Ix_a17k)]
+ d.Show_a18G =
+ $d5{-r19r,x-}
+ d.Ord_a18H =
+ $d4{-r19d,x-}
+ inRange_a19z =
+ inRange_a19w
+ AbsBinds [] [] [([], range_a19y, range_a17n)]
+ range_a17n
+ (a_r12g, b_r12h)
+ = case
+ con2tag_Foo#_r101
+ a_r12g
+ of
+ a#_r12j -> case
+ con2tag_Foo#_r101
+ b_r12h
+ of
+ b#_r12l -> map_a195
+ [PrelBase.Int{-3g,p-}, Foo{-r4J,x-}]
+ tag2con_Foo#_rZZ
+ enumFromTo_a194
+ PrelBase.I#{-5b,p-}{i}
+ a#_r12j
+ PrelBase.I#{-5b,p-}{i}
+ b#_r12l
+ AbsBinds [] [] [([], index_a19x, index_a17V)]
+ index_a17V
+ (c_r12p@(a_r12q, b_r12r)) d_r12t
+ = if inRange_a19z
+ c_r12p d_r12t then
+ case
+ con2tag_Foo#_r101
+ a_r12q
+ of
+ a#_r12v -> case
+ con2tag_Foo#_r101
+ d_r12t
+ of
+ d#_r12x -> case d#_r12x GHC.-#{-7E,p-}{I} a#_r12v of
+ c_r12z -> PrelBase.I#{-5b,p-}{i}
+ c_r12z
+ else
+ IOBase.error{-87,p-}
+ PrelBase.Int{-3g,p-}
+ "Ix.Foo.index: out of range\n"
+ AbsBinds [] [] [([], inRange_a19w, inRange_a18o)]
+ inRange_a18o
+ (a_r12D, b_r12E) c_r12G
+ = case
+ con2tag_Foo#_r101
+ a_r12D
+ of
+ a#_r12I -> case
+ con2tag_Foo#_r101
+ b_r12E
+ of
+ b#_r12K -> case
+ con2tag_Foo#_r101
+ c_r12G
+ of
+ c#_r12M -> if c#_r12M
+ GHC.>=#{-78,p-}{I} a#_r12I then
+ c#_r12M
+ GHC.<=#{-7c,p-}{I} b#_r12K
+ else
+ PrelBase.False{-58,p-}{i}
+ d.Ix_a17k =
+ ({-dict-}
+ [d.Show_a18G, d.Ord_a18H]
+ [range_a19y, index_a19x, inRange_a19w])
+{- nonrec -}
+d.Num_a18U =
+ PrelBase.$d3{-rdj,p-}
+fromInt_a197 =
+ PrelBase.fromInt{-8R,p-}
+ PrelBase.Int{-3g,p-}
+ d.Num_a18U
+lit_a196 =
+ fromInt_a197
+ PrelBase.I#{-5b,p-}{i}
+ 0#
+d.Functor_a18X =
+ PrelBase.$d25{-rde,p-}
+map_a195 =
+ PrelBase.map{-reK,p-}
+ PrelBase.[]{-3j,p-}
+ d.Functor_a18X
+d.Enum_a190 =
+ PrelBase.$d5{-rdF,p-}
+enumFromTo_a194 =
+ PrelBase.enumFromTo{-8W,p-}
+ PrelBase.Int{-3g,p-}
+ d.Enum_a190
+{- nonrec -}
+AbsBinds [] [] [([], con2tag_Foo#_r101, con2tag_Foo#_a141)]
+ con2tag_Foo#_a141
+ Foo1{-r4t,x-}{i}
+ = 0#
+ con2tag_Foo#_a141
+ Foo2{-r4s,x-}{i}
+ = 1#
+ con2tag_Foo#_a141
+ Foo3{-r4u,x-}{i}
+ = 2#
+ con2tag_Foo#_a141
+ Foo4{-r4v,x-}{i}
+ = 3#
+ con2tag_Foo#_a141
+ Foo5{-r4w,x-}{i}
+ = 4#
+ con2tag_Foo#_a141
+ Foo6{-r4x,x-}{i}
+ = 5#
+ con2tag_Foo#_a141
+ Foo7{-r4y,x-}{i}
+ = 6#
+ con2tag_Foo#_a141
+ Foo8{-r4z,x-}{i}
+ = 7#
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], maxtag_Foo#_r100, maxtag_Foo#_a145)]
+ maxtag_Foo#_a145
+ = PrelBase.I#{-5b,p-}{i}
+ 7#
+{- nonrec -}
+{- nonrec -}
+AbsBinds [] [] [([], tag2con_Foo#_rZZ, tag2con_Foo#_a149)]
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 0#)
+ = Foo1{-r4t,x-}{i}
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 1#)
+ = Foo2{-r4s,x-}{i}
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 2#)
+ = Foo3{-r4u,x-}{i}
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 3#)
+ = Foo4{-r4v,x-}{i}
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 4#)
+ = Foo5{-r4w,x-}{i}
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 5#)
+ = Foo6{-r4x,x-}{i}
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 6#)
+ = Foo7{-r4y,x-}{i}
+ tag2con_Foo#_a149
+ (PrelBase.I#{-5b,p-}{i} 7#)
+ = Foo8{-r4z,x-}{i}
+ tag2con_Foo#_a149
+ _ = IOBase.error{-87,p-}
+ Foo{-r4J,x-}
+ "Urk! in TcGenDeriv"
+{- nonrec -}
+
+NOTE: Simplifier still going after 4 iterations; bailing out.
+ghc: module version changed to 1; reason: no old .hi file