module Hat.PreludeBasic
       (gyield, hyield, glift, hlift, gthenAp, gthenLex,
        hthenLex, galt, halt, gguard, hguard, Eq(..),
        Ord(..), Enum(..), Bounded(..), Num(..), Real(..),
        Integral(..), Fractional(..), Floating(..),
        RealFrac(..), RealFloat(..), gsubtract, geven, heven,
        godd, ggcd, hgcd, glcm, hlcm, (!^), (*^), (!^^),
        (*^^), gfromIntegral, grealToFrac, Functor(..),
        Monad(..), gsequence, gsequence_, gmapM, hmapM,
        gmapM_, hmapM_, (!=<<), (*=<<), gid, hid, gconst,
        hconst, (!.), (*.), gflip, hflip, (!$), (*$), (!$!),
        (*$!), (!&&), (*&&), (!||), (*||), gnot, hnot,
        gotherwise, Maybe(..), gmaybe, hmaybe, Either(..),
        geither, heither, Ordering(..), gintEnumFromByTo,
        hintEnumFromByTo, gnumericEnumFrom,
        gnumericEnumFromThen, hnumericEnumFromThen,
        gnumericEnumFromTo, hnumericEnumFromTo,
        gnumericEnumFromThenTo, hnumericEnumFromThenTo, gfst,
        hfst, gsnd, hsnd, gcurry, hcurry, guncurry, huncurry,
        guntil, huntil, gasTypeOf, g_foldr, h_foldr,
        g_filter, h_filter, gmap, hmap, (!++), (*++),
        gfilter, hfilter, gconcat, hconcat, ghead, hhead,
        glast, hlast, gtail, htail, ginit, hinit, gnull,
        hnull, glength, hlength, (!!!), (*!!), gfoldl,
        hfoldl, gfoldl1, hfoldl1, gscanl, hscanl, gscanl1,
        hscanl1, gfoldr, hfoldr, gfoldr1, hfoldr1, gscanr,
        hscanr, gscanr1, hscanr1, giterate, hiterate,
        grepeat, hrepeat, greplicate, hreplicate, gcycle,
        hcycle, gtake, htake, gdrop, hdrop, gsplitAt,
        hsplitAt, gtakeWhile, htakeWhile, gdropWhile,
        hdropWhile, gspan, hspan, gbreak, hbreak, glines,
        hlines, gwords, hwords, gunlines, gunwords, hunwords,
        greverse, gand, gor, gany, hany, gall, hall, gelem,
        helem, gnotElem, hnotElem, glookup, hlookup, gsum,
        gproduct, gmaximum, hmaximum, gminimum, hminimum,
        gconcatMap, hconcatMap, gzip, gzip3, gzipWith,
        hzipWith, gzipWith3, hzipWith3, gunzip, gunzip3,
        ReadS, ReadS___1, ReadS___2, ShowS, ShowS___1,
        ShowS___2, Read(..), Show(..), greads, gshows, gread,
        hread, gshowChar, gshowString, gshowParen,
        hshowParen, greadParen, hreadParen, glex, hlex,
        FilePath, gputStr, hputStr, gputStrLn, hputStrLn,
        gprint, hprint, ggetLine, ginteract, hinteract,
        greadIO, hreadIO, greadLn, gdigitToInt, hdigitToInt,
        gintToDigit, hintToDigit, gord, gchr, greadLitChar,
        hreadLitChar, gshowLitChar, hshowLitChar,
        gprotectEsc, hprotectEsc, gasciiTab, glexLitChar,
        hlexLitChar, gfromRat, hfromRat, gfromRat',
        hfromRat', gscaleRat, hscaleRat, gminExpt, gmaxExpt,
        gexpt, hexpt, gexpts, gintegerLogBase,
        hintegerLogBase, gshowSigned, hshowSigned, gshowOct,
        gshowInt, gshowHex, gshowIntAtBase, hshowIntAtBase,
        greadSigned, hreadSigned, greadInt, hreadInt,
        greadDec, greadOct, greadHex, gshowEFloat,
        hshowEFloat, gshowFFloat, hshowFFloat, gshowGFloat,
        hshowGFloat, gshowFloat, FFFormat(..),
        gformatRealFloat, hformatRealFloat, groundTo,
        hroundTo, gfloatToDigits, hfloatToDigits, greadFloat,
        hreadFloat, glexDigits, gnonnull, hnonnull, gprec,
        Ratio(..), Rational, Rational___1, greduce, hreduce,
        (!%), (*%), gnumerator, hnumerator, gdenominator,
        hdenominator, gapproxRational, happroxRational, aEQ,
        aFFExponent, aFFFixed, aFFGeneric, aGT, aJust, aLT,
        aLeft, aNothing, aRight, a_filter, a_foldr, aall,
        aalt, aand, aany, aapproxRational, aasTypeOf,
        aasciiTab, abreak, achr, aconcat, aconcatMap, aconst,
        acurry, acycle, adenominator, adigitToInt, adrop,
        adropWhile, aeither, aelem, aeven, aexpt, aexpts,
        afilter, aflip, afloatToDigits, afoldl, afoldl1,
        afoldr, afoldr1, aformatRealFloat, afromIntegral,
        afromRat, afromRat', afst, agcd, agetLine, aguard,
        ahead, aid, ainit, aintEnumFromByTo, aintToDigit,
        aintegerLogBase, ainteract, aiterate, alast, alcm,
        alength, alex, alexDigits, alexLitChar, alift,
        alines, alookup, amap, amapM, amapM_, amaxExpt,
        amaximum, amaybe, aminExpt, aminimum, anonnull, anot,
        anotElem, anull, anumerator, anumericEnumFrom,
        anumericEnumFromThen, anumericEnumFromThenTo,
        anumericEnumFromTo, aodd, aor, aord, aotherwise,
        aprec, aprint, aproduct, aprotectEsc, aputStr,
        aputStrLn, aread, areadDec, areadFloat, areadHex,
        areadIO, areadInt, areadLitChar, areadLn, areadOct,
        areadParen, areadSigned, areads, arealToFrac,
        areduce, arepeat, areplicate, areverse, aroundTo,
        ascaleRat, ascanl, ascanl1, ascanr, ascanr1,
        asequence, asequence_, ashowChar, ashowEFloat,
        ashowFFloat, ashowFloat, ashowGFloat, ashowHex,
        ashowInt, ashowIntAtBase, ashowLitChar, ashowOct,
        ashowParen, ashowSigned, ashowString, ashows, asnd,
        aspan, asplitAt, asubtract, asum, atail, atake,
        atakeWhile, athenAp, athenLex, auncurry, aunlines,
        auntil, aunwords, aunzip, aunzip3, awords, ayield,
        azip, azip3, azipWith, azipWith3, (+!!), (+$), (+$!),
        (+%), (+&&), (+#>#=*=#>#=%>**), (+++),
        (+#&#=*=#&#=%+-), (+.), (+#^*=*=#^*=%*/),
        (++>=*=+>=%+/=), (+:%), (+@^=*=@^=&#<),
        (+@+=*=@+=&#<=), (+=<<), (+^!=*=^!=%+==),
        (+@>=*=@>=&#>), (+@@=*=@@=&#>=), (+%$^=*=%$^=$@>>),
        (+^), (+^^), (+||), (+%+!=%=%+!=#^==),
        (+&#^=%=&#>=$&==), (+&^@=*=&^@=&>==),
        (+&@$=*=&@$=&><=), (+*!+=*#=*!+=*$==),
        (+*$!=*=*$#=%#>>=), (+*$@=*#=*$@=*$==),
        (+*&+=&=*&+=$$>>=), (+**&=$#=**&=$$==),
        (+*++=%=*++=$&/=), (+*+*=%=*+*=$&==),
        (+*+>=%=*+>=$&<), (+*^!=%=*^!=$&<=),
        (+*^$=%=*^$=$&>), (+*^#=%=*^#=$&>=),
        (+*^^=$=*^^=$@*), (+*^*=$=*^*=$^+), (+*^+=$=*^+=$@-),
        (++$&=%=+$&=$@/=), (++$%=%=+$%=$@==),
        (++$^=%=+$^=$@<), (++$@=%=+$@=$@<=),
        (++%!=%=+%!=$@>), (++$>=%=+$>=$@>=),
        (++%*=$=+%*=%!*), (++%%=$=+%%=%!+), (++%&=$=+%&=%!-),
        (++^+=%=+^+=$+/=), (++^*=%=+^*=$+==),
        (++^>=%=+^>=$+<), (++@!=%=+@!=$+<=),
        (++@$=%=+@$=$+>), (++@#=%=+@#=$+>=),
        (++@^=$=+@^=$@*), (++@*=$=+@*=$@+), (++@+=$=+@+=$@-),
        (++>@=%=+>@=$+/), (+^*&=%=^*&=$^/=),
        (+^*%=%=^*%=$^==), (+^*^=%=^*^=$^<),
        (+^*@=%=^*@=$^<=), (+^+!=%=^+!=$^>),
        (+^*>=%=^*>=$^>=), (+^+*=$=^+*=$>*),
        (+^+%=$=^+%=$>+), (+^+&=$=^+&=$>-), (+^^+=%=^^+=$^/),
        (+@@%=%=@@*=$+==), (+>!%=*=>!%=%>>>=),
        (+>#+=%=>#+=%>==), (+>%#=%=>%#=**==),
        (+>&^=%=>&^=^#==), (+>+*=%=>++=**==),
        (+>@^=%=>@@=++==), (+#!##=%=#!#$=^^==),
        (+#!&!=%=#!&$=#&==), (+#!^$=%=#!^&=$*==),
        (+##!^=%=##!>=%+==), (+##&&=%=##&+=&^==),
        (+##@%=%=##@*=*@==), (+#$$*=%=#$$^=+>==),
        (+#$^#=%=#$^*=#&==), (+#%$$=%=#%$+=$*==),
        (+%#>*=%^=%#>*=%@==), (+%$$&=*=%$$&=&%<),
        (+%$$%=*=%$$%=&%<=), (+%$$@=*=%$$@=*#*),
        (+%$$^=*=%$$^=*&+), (+%$%@=*=%$%@=&$/),
        module Hat.PreludeBuiltin)
       where
import qualified Prelude
import qualified Hat.Hat as T
import Hat.PreludeBuiltinTypes
import Hat.PreludeBuiltin
import Hat.PreludeBuiltin as Hat.PreludeBasic
 
gyield ::
       T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (ReadS a))
 
hyield ::
       T.R a ->
         T.R (ReadS___1 a) -> T.RefExp -> T.R (ReadS___2 a)
gyield pyield p = T.ufun2 ayield pyield p hyield
hyield fx fr p
  = T.fromExpList T.mkNoSrcPos p
      [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fx fr]
 
glift ::
      T.RefSrcPos ->
        T.RefExp ->
          T.R
            (T.Fun (T.Fun a (T.Fun b (ReadS c)))
               (T.Fun (ReadS a) (T.Fun (ReadS b) (ReadS c))))
 
hlift ::
      T.R (T.Fun a (T.Fun b (ReadS c))) ->
        T.R (ReadS a) ->
          T.R (ReadS b) ->
            T.R (ReadS___1 c) -> T.RefExp -> T.R (ReadS___2 c)
glift plift p = T.ufun4 alift plift p hlift
hlift fc ff fg fr p
  = T.uap1 T.mkNoSrcPos p
      (T.uwrapForward p
         (hconcatMap
            (T.ufun1 T.mkLambda T.mkNoSrcPos p
               (\ (T.R (T.Tuple2 fx fs) _) p ->
                  T.uap1 T.mkNoSrcPos p
                    (T.uwrapForward p
                       (hconcatMap
                          (T.ufun1 T.mkLambda T.mkNoSrcPos p
                             (\ (T.R (T.Tuple2 fy ft) _) p ->
                                T.uap3 T.mkNoSrcPos p
                                  (T.projection T.mkNoSrcPos p fc)
                                  fx
                                  fy
                                  ft))
                          p))
                    (T.uap1 T.mkNoSrcPos p fg fs)))
            p))
      (T.uap1 T.mkNoSrcPos p ff fr)
 
gthenAp ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (ReadS (T.Fun a b))
                 (T.Fun (ReadS a) (ReadS b)))
 
sthenAp ::
        T.R
          (T.Fun (ReadS (T.Fun a b))
             (T.Fun (ReadS a) (ReadS b)))
gthenAp pthenAp p = T.uconstUse pthenAp p sthenAp
sthenAp
  = T.uconstDef p athenAp
      (\ p ->
         T.uap1 T.mkNoSrcPos p (glift T.mkNoSrcPos p)
           (T.ufun3 T.mkLambda T.mkNoSrcPos p
              (\ fh fx ft p ->
                 T.fromExpList T.mkNoSrcPos p
                   [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                      (T.uap1 T.mkNoSrcPos p fh fx)
                      ft])))
 
gthenLex ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R (T.Fun (ReadS a) (T.Fun String (ReadS a)))
 
hthenLex ::
         T.R (ReadS a) ->
           T.R String -> T.RefExp -> T.R (ReadS a)
gthenLex pthenLex p
  = T.ufun2 athenLex pthenLex p hthenLex
hthenLex ff fxs p
  = T.uap3 T.mkNoSrcPos p (glift T.mkNoSrcPos p)
      (T.ufun3 T.mkLambda T.mkNoSrcPos p
         (\ fx fy ft p ->
            T.ucif p
              (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fy fxs)
              (T.fromExpList T.mkNoSrcPos p
                 [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fx ft])
              (T.con0 T.mkNoSrcPos p T.Nil T.aNil)))
      ff
      (glex T.mkNoSrcPos p)
 
galt ::
     T.RefSrcPos ->
       T.RefExp ->
         T.R (T.Fun (ReadS a) (T.Fun (ReadS a) (ReadS a)))
 
halt ::
     T.R (ReadS a) ->
       T.R (ReadS a) ->
         T.R (ReadS___1 a) -> T.RefExp -> T.R (ReadS___2 a)
galt palt p = T.ufun3 aalt palt p halt
halt ff fg fr p
  = T.uwrapForward p
      ((*++) (T.uap1 T.mkNoSrcPos p ff fr)
         (T.uap1 T.mkNoSrcPos p fg fr)
         p)
 
gguard ::
       T.RefSrcPos ->
         T.RefExp -> T.R (T.Fun Bool (T.List T.Tuple0))
 
hguard ::
       T.R Bool -> T.RefExp -> T.R (T.List T.Tuple0)
gguard pguard p = T.ufun1 aguard pguard p hguard
hguard fp p
  = T.ucif p fp
      (T.fromExpList T.mkNoSrcPos p
         [T.con0 T.mkNoSrcPos p T.Tuple0 T.aTuple0])
      (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
 
class Eq a where
         
        (!==), (!/=) ::
               T.RefSrcPos ->
                 T.RefExp -> T.R (T.Fun a (T.Fun a Bool))
         
        (|==), (|/=) :: T.R (T.Fun a (T.Fun a Bool))
        (%/=) !/= p = T.ufun2 (++>=*=+>=%+/=) (%/=) p (*/=)
          where (fx */= fy) p
                  = T.uwrapForward p
                      (hnot
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fx fy)
                         p)
        (%==) !== p = T.ufun2 (+^!=*=^!=%+==) (%==) p (*==)
          where (fx *== fy) p
                  = T.uwrapForward p
                      (hnot
                         (T.uap2 T.mkNoSrcPos p ((!/=) T.mkNoSrcPos p) fx fy)
                         p)
 
class (Eq a) => Ord a where
         
        gcompare ::
                 T.RefSrcPos ->
                   T.RefExp -> T.R (T.Fun a (T.Fun a Ordering))
         
        scompare :: T.R (T.Fun a (T.Fun a Ordering))
         
        (!<), (!<=), (!>=), (!>) ::
              T.RefSrcPos ->
                T.RefExp -> T.R (T.Fun a (T.Fun a Bool))
         
        (|<), (|<=), (|>=), (|>) ::
              T.R (T.Fun a (T.Fun a Bool))
         
        gmax, gmin ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
         
        smax, smin :: T.R (T.Fun a (T.Fun a a))
        gcompare pcompare p
          = T.ufun2 c81v5v84v26compare pcompare p hcompare
          where hcompare fx fy p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fx fy)
                      (T.con0 T.mkNoSrcPos p EQ aEQ)
                      (T.ucguard
                         (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fx fy)
                         (T.con0 T.mkNoSrcPos p LT aLT)
                         (T.ucguard (gotherwise T.mkNoSrcPos p)
                            (T.con0 T.mkNoSrcPos p GT aGT)
                            (T.fatal p)))
        (%<=) !<= p = T.ufun2 (+@+=*=@+=&#<=) (%<=) p (*<=)
          where (fx *<= fy) p
                  = T.uap2 T.mkNoSrcPos p ((!/=) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fx
                         fy)
                      (T.con0 T.mkNoSrcPos p GT aGT)
        (%<) !< p = T.ufun2 (+@^=*=@^=&#<) (%<) p (*<)
          where (fx *< fy) p
                  = T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fx
                         fy)
                      (T.con0 T.mkNoSrcPos p LT aLT)
        (%>=) !>= p = T.ufun2 (+@@=*=@@=&#>=) (%>=) p (*>=)
          where (fx *>= fy) p
                  = T.uap2 T.mkNoSrcPos p ((!/=) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fx
                         fy)
                      (T.con0 T.mkNoSrcPos p LT aLT)
        (%>) !> p = T.ufun2 (+@>=*=@>=&#>) (%>) p (*>)
          where (fx *> fy) p
                  = T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fx
                         fy)
                      (T.con0 T.mkNoSrcPos p GT aGT)
        gmax pmax p = T.ufun2 c92v5v94v25max pmax p hmax
          where hmax fx fy p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fx fy)
                      (T.projection T.mkNoSrcPos p fy)
                      (T.ucguard (gotherwise T.mkNoSrcPos p)
                         (T.projection T.mkNoSrcPos p fx)
                         (T.fatal p))
        gmin pmin p = T.ufun2 c95v5v97v25min pmin p hmin
          where hmin fx fy p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fx fy)
                      (T.projection T.mkNoSrcPos p fx)
                      (T.ucguard (gotherwise T.mkNoSrcPos p)
                         (T.projection T.mkNoSrcPos p fy)
                         (T.fatal p))
 
class Enum a where
         
        gsucc, gpred ::
               T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        ssucc, spred :: T.R (T.Fun a a)
         
        gtoEnum ::
                T.RefSrcPos -> T.RefExp -> T.R (T.Fun Int a)
         
        stoEnum :: T.R (T.Fun Int a)
        stoEnum = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gfromEnum ::
                  T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Int)
         
        sfromEnum :: T.R (T.Fun a Int)
        sfromEnum
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        genumFrom ::
                  T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.List a))
         
        senumFrom :: T.R (T.Fun a (T.List a))
         
        genumFromThen ::
                      T.RefSrcPos ->
                        T.RefExp -> T.R (T.Fun a (T.Fun a (T.List a)))
         
        senumFromThen :: T.R (T.Fun a (T.Fun a (T.List a)))
         
        genumFromTo ::
                    T.RefSrcPos ->
                      T.RefExp -> T.R (T.Fun a (T.Fun a (T.List a)))
         
        senumFromTo :: T.R (T.Fun a (T.Fun a (T.List a)))
         
        genumFromThenTo ::
                        T.RefSrcPos ->
                          T.RefExp ->
                            T.R (T.Fun a (T.Fun a (T.Fun a (T.List a))))
         
        senumFromThenTo ::
                        T.R (T.Fun a (T.Fun a (T.Fun a (T.List a))))
        gsucc psucc p = T.uconstUse psucc p ssucc
        ssucc
          = T.uconstDef p c117v5v117v48succ
              (\ p ->
                 T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                   (gtoEnum T.mkNoSrcPos p)
                   (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                         ((!+) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1))))
                      (gfromEnum T.mkNoSrcPos p)))
        gpred ppred p = T.uconstUse ppred p spred
        spred
          = T.uconstDef p c118v5v118v56pred
              (\ p ->
                 T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                   (gtoEnum T.mkNoSrcPos p)
                   (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gsubtract T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1))))
                      (gfromEnum T.mkNoSrcPos p)))
        genumFrom penumFrom p
          = T.ufun1 c119v5v119v50enumFrom penumFrom p henumFrom
          where henumFrom fx p
                  = T.uwrapForward p
                      (hmap (gtoEnum T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.genumFrom T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fx))
                         p)
        genumFromTo penumFromTo p
          = T.ufun2 c120v5v120v61enumFromTo penumFromTo p
              henumFromTo
          where henumFromTo fx fy p
                  = T.uwrapForward p
                      (hmap (gtoEnum T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p
                            (Hat.PreludeBasic.genumFromTo T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fx)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fy))
                         p)
        genumFromThen penumFromThen p
          = T.ufun2 c121v5v121v62enumFromThen penumFromThen p
              henumFromThen
          where henumFromThen fx fy p
                  = T.uwrapForward p
                      (hmap (gtoEnum T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p
                            (Hat.PreludeBasic.genumFromThen T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fx)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fy))
                         p)
        genumFromThenTo penumFromThenTo p
          = T.ufun3 c122v5v123v73enumFromThenTo penumFromThenTo
              p
              henumFromThenTo
          where henumFromThenTo fx fy fz p
                  = T.uwrapForward p
                      (hmap (gtoEnum T.mkNoSrcPos p)
                         (T.uap3 T.mkNoSrcPos p
                            (Hat.PreludeBasic.genumFromThenTo T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fx)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fy)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fz))
                         p)
 
class Bounded a where
         
        gminBound :: T.RefSrcPos -> T.RefExp -> T.R a
         
        sminBound :: T.R a
        sminBound
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gmaxBound :: T.RefSrcPos -> T.RefExp -> T.R a
         
        smaxBound :: T.R a
        smaxBound
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
 
class (Eq a, Show a) => Num a where
         
        (!+), (!-), (!*) ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
         
        (|+), (|-), (|*) :: T.R (T.Fun a (T.Fun a a))
        (|+) = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        (|*) = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gnegate :: T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        snegate :: T.R (T.Fun a a)
         
        gabs, gsignum ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        sabs, ssignum :: T.R (T.Fun a a)
        sabs = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        ssignum = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gfromInteger ::
                     T.RefSrcPos -> T.RefExp -> T.R (T.Fun Integer a)
         
        sfromInteger :: T.R (T.Fun Integer a)
        sfromInteger
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        (%-) !- p = T.ufun2 (+#&#=*=#&#=%+-) (%-) p (*-)
          where (fx *- fy) p
                  = T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p (gnegate T.mkNoSrcPos p) fy)
        gnegate pnegate p
          = T.ufun1 c142v5v142v29negate pnegate p hnegate
          where hnegate fx p
                  = T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0)))
                      fx
 
class (Num a, Ord a) => Real a where
         
        gtoRational ::
                    T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Rational)
         
        stoRational :: T.R (T.Fun a Rational)
        stoRational
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
 
class (Real a, Enum a) => Integral a where
         
        gquot, grem ::
               T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
         
        squot, srem :: T.R (T.Fun a (T.Fun a a))
         
        gdiv, gmod ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
         
        sdiv, smod :: T.R (T.Fun a (T.Fun a a))
         
        gquotRem, gdivMod ::
                  T.RefSrcPos ->
                    T.RefExp -> T.R (T.Fun a (T.Fun a (T.Tuple2 a a)))
         
        squotRem, sdivMod ::
                  T.R (T.Fun a (T.Fun a (T.Tuple2 a a)))
        squotRem = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gtoInteger ::
                   T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Integer)
         
        stoInteger :: T.R (T.Fun a Integer)
        stoInteger
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        gquot pquot p
          = T.ufun2 c157v5v157v32quot pquot p hquot
          where hquot fn fd p = gq T.mkNoSrcPos p
                  where gq pq p = T.uconstUse pq p sq
                        gr pr p = T.uconstUse pr p sr
                        sq
                          = T.uconstDef p c157v34v157v52q
                              (\ _ ->
                                 case j157v34v157v52q of
                                     (kq, fq, fr) -> fq)
                        sr
                          = T.uconstDef p c157v34v157v52r
                              (\ _ ->
                                 case j157v34v157v52q of
                                     (kq, fq, fr) -> fr)
                        j157v34v157v52q
                          = case
                              T.uap2 T.mkNoSrcPos p (gquotRem T.mkNoSrcPos p) fn
                                fd
                              of
                                T.R (T.Tuple2 fq fr) kq -> (kq, fq, fr)
                                _ -> T.fatal p
        grem prem p = T.ufun2 c158v5v158v32rem prem p hrem
          where hrem fn fd p = gr T.mkNoSrcPos p
                  where gq pq p = T.uconstUse pq p sq
                        gr pr p = T.uconstUse pr p sr
                        sq
                          = T.uconstDef p c158v34v158v52q
                              (\ _ ->
                                 case j158v34v158v52q of
                                     (kq, fq, fr) -> fq)
                        sr
                          = T.uconstDef p c158v34v158v52r
                              (\ _ ->
                                 case j158v34v158v52q of
                                     (kq, fq, fr) -> fr)
                        j158v34v158v52q
                          = case
                              T.uap2 T.mkNoSrcPos p (gquotRem T.mkNoSrcPos p) fn
                                fd
                              of
                                T.R (T.Tuple2 fq fr) kq -> (kq, fq, fr)
                                _ -> T.fatal p
        gdiv pdiv p = T.ufun2 c159v5v159v32div pdiv p hdiv
          where hdiv fn fd p = gq T.mkNoSrcPos p
                  where gq pq p = T.uconstUse pq p sq
                        gr pr p = T.uconstUse pr p sr
                        sq
                          = T.uconstDef p c159v34v159v51q
                              (\ _ ->
                                 case j159v34v159v51q of
                                     (kq, fq, fr) -> fq)
                        sr
                          = T.uconstDef p c159v34v159v51r
                              (\ _ ->
                                 case j159v34v159v51q of
                                     (kq, fq, fr) -> fr)
                        j159v34v159v51q
                          = case
                              T.uap2 T.mkNoSrcPos p (gdivMod T.mkNoSrcPos p) fn
                                fd
                              of
                                T.R (T.Tuple2 fq fr) kq -> (kq, fq, fr)
                                _ -> T.fatal p
        gmod pmod p = T.ufun2 c160v5v160v32mod pmod p hmod
          where hmod fn fd p = gr T.mkNoSrcPos p
                  where gq pq p = T.uconstUse pq p sq
                        gr pr p = T.uconstUse pr p sr
                        sq
                          = T.uconstDef p c160v34v160v51q
                              (\ _ ->
                                 case j160v34v160v51q of
                                     (kq, fq, fr) -> fq)
                        sr
                          = T.uconstDef p c160v34v160v51r
                              (\ _ ->
                                 case j160v34v160v51q of
                                     (kq, fq, fr) -> fr)
                        j160v34v160v51q
                          = case
                              T.uap2 T.mkNoSrcPos p (gdivMod T.mkNoSrcPos p) fn
                                fd
                              of
                                T.R (T.Tuple2 fq fr) kq -> (kq, fq, fr)
                                _ -> T.fatal p
        gdivMod pdivMod p
          = T.ufun2 c161v5v164v29divMod pdivMod p hdivMod
          where hdivMod fn fd p
                  = T.ucif p
                      (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gsignum T.mkNoSrcPos p)
                            (gr T.mkNoSrcPos p))
                         (T.uap1 T.mkNoSrcPos p (gnegate T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gsignum T.mkNoSrcPos p)
                               fd)))
                      (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                         (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                            (gq T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (1))))
                         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                            (gr T.mkNoSrcPos p)
                            fd))
                      (gqr T.mkNoSrcPos p)
                  where gqr pqr p = T.uconstUse pqr p sqr
                        sqr
                          = T.uconstDef p c164v31v164v52qr
                              (\ p ->
                                 T.uap2 T.mkNoSrcPos p (gquotRem T.mkNoSrcPos p)
                                   fn
                                   fd)
                        gq pq p = T.uconstUse pq p sq
                        gr pr p = T.uconstUse pr p sr
                        sq
                          = T.uconstDef p c164v31v164v52q
                              (\ _ ->
                                 case j164v31v164v52q of
                                     (kq, fq, fr) -> fq)
                        sr
                          = T.uconstDef p c164v31v164v52r
                              (\ _ ->
                                 case j164v31v164v52q of
                                     (kq, fq, fr) -> fr)
                        j164v31v164v52q
                          = case gqr T.mkNoSrcPos p of
                                T.R (T.Tuple2 fq fr) kq -> (kq, fq, fr)
                                _ -> T.fatal p
 
class (Num a) => Fractional a where
         
        (!/) ::
             T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
         
        (|/) :: T.R (T.Fun a (T.Fun a a))
         
        grecip :: T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        srecip :: T.R (T.Fun a a)
         
        gfromRational ::
                      T.RefSrcPos -> T.RefExp -> T.R (T.Fun Rational a)
         
        sfromRational :: T.R (T.Fun Rational a)
        sfromRational
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        grecip precip p
          = T.ufun1 c174v5v174v29recip precip p hrecip
          where hrecip fx p
                  = T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
                      fx
        (%/) !/ p = T.ufun2 (+#^*=*=#^*=%*/) (%/) p (*/)
          where (fx */ fy) p
                  = T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p (grecip T.mkNoSrcPos p) fy)
 
class (Fractional a) => Floating a where
         
        gpi :: T.RefSrcPos -> T.RefExp -> T.R a
         
        spi :: T.R a
        spi = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gexp, glog, gsqrt ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        sexp, slog, ssqrt :: T.R (T.Fun a a)
        sexp = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        slog = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        (!**), glogBase ::
               T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
         
        (|**), slogBase :: T.R (T.Fun a (T.Fun a a))
         
        gsin, gcos, gtan ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        ssin, scos, stan :: T.R (T.Fun a a)
        ssin = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        scos = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gasin, gacos, gatan ::
               T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        sasin, sacos, satan :: T.R (T.Fun a a)
        sasin = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        sacos = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        satan = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gsinh, gcosh, gtanh ::
               T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        ssinh, scosh, stanh :: T.R (T.Fun a a)
        ssinh = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        scosh = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gasinh, gacosh, gatanh ::
                T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        sasinh, sacosh, satanh :: T.R (T.Fun a a)
        sasinh = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        sacosh = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        satanh = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        (%**) !** p = T.ufun2 (+#>#=*=#>#=%>**) (%**) p (***)
          where (fx *** fy) p
                  = T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p) fx)
                         fy)
        glogBase plogBase p
          = T.ufun2 c192v5v192v37logBase plogBase p hlogBase
          where hlogBase fx fy p
                  = T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p) fy)
                      (T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p) fx)
        gsqrt psqrt p
          = T.ufun1 c193v5v193v32sqrt psqrt p hsqrt
          where hsqrt fx p
                  = T.uap2 T.mkNoSrcPos p ((!**) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromRational T.mkNoSrcPos p)
                         (T.R
                            ((Hat.PreludeBasic.:%)
                               (T.conInteger T.mkNoSrcPos p (1))
                               (T.conInteger T.mkNoSrcPos p (2)))
                            (T.mkAtomRational T.mkNoSrcPos p 0.5)))
        gtan ptan p = T.ufun1 c194v5v194v39tan ptan p htan
          where htan fx p
                  = T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fx)
                      (T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fx)
        gtanh ptanh p
          = T.ufun1 c195v5v195v39tanh ptanh p htanh
          where htanh fx p
                  = T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gsinh T.mkNoSrcPos p) fx)
                      (T.uap1 T.mkNoSrcPos p (gcosh T.mkNoSrcPos p) fx)
 
class (Real a, Fractional a) => RealFrac a where
         
        gproperFraction ::
                          (Integral b) =>
                          T.RefSrcPos ->
                            T.RefExp -> T.R (T.Fun a (T.Tuple2 b a))
         
        sproperFraction ::
                          (Integral b) => T.R (T.Fun a (T.Tuple2 b a))
        sproperFraction
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gtruncate, ground ::
                     (Integral b) =>
                     T.RefSrcPos -> T.RefExp -> T.R (T.Fun a b)
         
        struncate, sround :: (Integral b) => T.R (T.Fun a b)
         
        gceiling, gfloor ::
                    (Integral b) =>
                    T.RefSrcPos -> T.RefExp -> T.R (T.Fun a b)
         
        sceiling, sfloor :: (Integral b) => T.R (T.Fun a b)
        gtruncate ptruncate p
          = T.ufun1 c206v5v206v32truncate ptruncate p htruncate
          where htruncate fx p = gm T.mkNoSrcPos p
                  where gm pm p = T.uconstUse pm p sm
                        sm
                          = T.uconstDef p c206v34v206v57m
                              (\ _ ->
                                 case j206v34v206v57m of
                                     (km, fm) -> fm)
                        j206v34v206v57m
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gproperFraction T.mkNoSrcPos p)
                                fx
                              of
                                T.R (T.Tuple2 fm _) km -> (km, fm)
                                _ -> T.fatal p
        ground pround p
          = T.ufun1 c208v5v221v0round pround p hround
          where hround fx p
                  = let gn pn p = T.uconstUse pn p sn
                        gr pr p = T.uconstUse pr p sr
                        sn
                          = T.uconstDef p c208v29v208v52n
                              (\ _ ->
                                 case j208v29v208v52n of
                                     (kn, fn, fr) -> fn)
                        sr
                          = T.uconstDef p c208v29v208v52r
                              (\ _ ->
                                 case j208v29v208v52n of
                                     (kn, fn, fr) -> fr)
                        j208v29v208v52n
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gproperFraction T.mkNoSrcPos p)
                                fx
                              of
                                T.R (T.Tuple2 fn fr) kn -> (kn, fn, fr)
                                _ -> T.fatal p
                        gm pm p = T.uconstUse pm p sm
                        sm
                          = T.uconstDef p c209v29v209v66m
                              (\ p ->
                                 T.ucif p
                                   (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                                      (gr T.mkNoSrcPos p)
                                      (T.uap1 T.mkNoSrcPos p
                                         (Hat.PreludeBasic.gfromInteger
                                            T.mkNoSrcPos
                                            p)
                                         (T.conInteger T.mkNoSrcPos p (0))))
                                   (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                                      (gn T.mkNoSrcPos p)
                                      (T.uap1 T.mkNoSrcPos p
                                         (Hat.PreludeBasic.gfromInteger
                                            T.mkNoSrcPos
                                            p)
                                         (T.conInteger T.mkNoSrcPos p (1))))
                                   (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                      (gn T.mkNoSrcPos p)
                                      (T.uap1 T.mkNoSrcPos p
                                         (Hat.PreludeBasic.gfromInteger
                                            T.mkNoSrcPos
                                            p)
                                         (T.conInteger T.mkNoSrcPos p (1)))))
                      in
                      T.uccase T.mkNoSrcPos p
                        (let v210v30v221v0v1 (T.R LT _) p = gn T.mkNoSrcPos p
                             v210v30v221v0v1 (T.R EQ _) p
                               = T.ucif p
                                   (T.uwrapForward p
                                      (heven (gn T.mkNoSrcPos p) p))
                                   (gn T.mkNoSrcPos p)
                                   (gm T.mkNoSrcPos p)
                             v210v30v221v0v1 (T.R GT _) p = gm T.mkNoSrcPos p
                             v210v30v221v0v1 _ p = T.fatal p
                           in v210v30v221v0v1)
                        (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p)
                           (T.uap1 T.mkNoSrcPos p (gsignum T.mkNoSrcPos p)
                              (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p (gabs T.mkNoSrcPos p)
                                    (gr T.mkNoSrcPos p))
                                 (T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfromRational T.mkNoSrcPos
                                       p)
                                    (T.R
                                       ((Hat.PreludeBasic.:%)
                                          (T.conInteger T.mkNoSrcPos p (1))
                                          (T.conInteger T.mkNoSrcPos p (2)))
                                       (T.mkAtomRational T.mkNoSrcPos p 0.5)))))
                           (T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (0))))
        gceiling pceiling p
          = T.ufun1 c221v5v222v29ceiling pceiling p hceiling
          where hceiling fx p
                  = T.ucif p
                      (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p)
                         (gr T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (gn T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1))))
                      (gn T.mkNoSrcPos p)
                  where gn pn p = T.uconstUse pn p sn
                        gr pr p = T.uconstUse pr p sr
                        sn
                          = T.uconstDef p c222v31v222v54n
                              (\ _ ->
                                 case j222v31v222v54n of
                                     (kn, fn, fr) -> fn)
                        sr
                          = T.uconstDef p c222v31v222v54r
                              (\ _ ->
                                 case j222v31v222v54n of
                                     (kn, fn, fr) -> fr)
                        j222v31v222v54n
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gproperFraction T.mkNoSrcPos p)
                                fx
                              of
                                T.R (T.Tuple2 fn fr) kn -> (kn, fn, fr)
                                _ -> T.fatal p
        gfloor pfloor p
          = T.ufun1 c224v5v225v29floor pfloor p hfloor
          where hfloor fx p
                  = T.ucif p
                      (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                         (gr T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                         (gn T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1))))
                      (gn T.mkNoSrcPos p)
                  where gn pn p = T.uconstUse pn p sn
                        gr pr p = T.uconstUse pr p sr
                        sn
                          = T.uconstDef p c225v31v225v54n
                              (\ _ ->
                                 case j225v31v225v54n of
                                     (kn, fn, fr) -> fn)
                        sr
                          = T.uconstDef p c225v31v225v54r
                              (\ _ ->
                                 case j225v31v225v54n of
                                     (kn, fn, fr) -> fr)
                        j225v31v225v54n
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gproperFraction T.mkNoSrcPos p)
                                fx
                              of
                                T.R (T.Tuple2 fn fr) kn -> (kn, fn, fr)
                                _ -> T.fatal p
 
class (RealFrac a, Floating a) => RealFloat a where
         
        gfloatRadix ::
                    T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Integer)
         
        sfloatRadix :: T.R (T.Fun a Integer)
        sfloatRadix
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gfloatDigits ::
                     T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Int)
         
        sfloatDigits :: T.R (T.Fun a Int)
        sfloatDigits
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gfloatRange ::
                    T.RefSrcPos ->
                      T.RefExp -> T.R (T.Fun a (T.Tuple2 Int Int))
         
        sfloatRange :: T.R (T.Fun a (T.Tuple2 Int Int))
        sfloatRange
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gdecodeFloat ::
                     T.RefSrcPos ->
                       T.RefExp -> T.R (T.Fun a (T.Tuple2 Integer Int))
         
        sdecodeFloat :: T.R (T.Fun a (T.Tuple2 Integer Int))
        sdecodeFloat
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gencodeFloat ::
                     T.RefSrcPos ->
                       T.RefExp -> T.R (T.Fun Integer (T.Fun Int a))
         
        sencodeFloat :: T.R (T.Fun Integer (T.Fun Int a))
        sencodeFloat
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gexponent ::
                  T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Int)
         
        sexponent :: T.R (T.Fun a Int)
         
        gsignificand ::
                     T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
         
        ssignificand :: T.R (T.Fun a a)
         
        gscaleFloat ::
                    T.RefSrcPos ->
                      T.RefExp -> T.R (T.Fun Int (T.Fun a a))
         
        sscaleFloat :: T.R (T.Fun Int (T.Fun a a))
         
        gisNaN, gisInfinite, gisDenormalized,
                gisNegativeZero, gisIEEE ::
                T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Bool)
         
        sisNaN, sisInfinite, sisDenormalized,
                sisNegativeZero, sisIEEE :: T.R (T.Fun a Bool)
        sisNaN = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        sisInfinite
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        sisDenormalized
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        sisNegativeZero
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
        sisIEEE = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gatan2 ::
               T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
         
        satan2 :: T.R (T.Fun a (T.Fun a a))
        gexponent pexponent p
          = T.ufun1 c244v5v245v29exponent pexponent p hexponent
          where hexponent fx p
                  = T.ucif p
                      (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                         (gm T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0)))
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (gn T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gfloatDigits T.mkNoSrcPos p)
                            fx))
                  where gm pm p = T.uconstUse pm p sm
                        gn pn p = T.uconstUse pn p sn
                        sm
                          = T.uconstDef p c245v31v245v51m
                              (\ _ ->
                                 case j245v31v245v51m of
                                     (km, fm, fn) -> fm)
                        sn
                          = T.uconstDef p c245v31v245v51n
                              (\ _ ->
                                 case j245v31v245v51m of
                                     (km, fm, fn) -> fn)
                        j245v31v245v51m
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gdecodeFloat T.mkNoSrcPos p)
                                fx
                              of
                                T.R (T.Tuple2 fm fn) km -> (km, fm, fn)
                                _ -> T.fatal p
        gsignificand psignificand p
          = T.ufun1 c247v5v248v29significand psignificand p
              hsignificand
          where hsignificand fx p
                  = T.uap2 T.mkNoSrcPos p (gencodeFloat T.mkNoSrcPos p)
                      (gm T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gfloatDigits T.mkNoSrcPos p)
                            fx))
                  where gm pm p = T.uconstUse pm p sm
                        sm
                          = T.uconstDef p c248v31v248v51m
                              (\ _ ->
                                 case j248v31v248v51m of
                                     (km, fm) -> fm)
                        j248v31v248v51m
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gdecodeFloat T.mkNoSrcPos p)
                                fx
                              of
                                T.R (T.Tuple2 fm _) km -> (km, fm)
                                _ -> T.fatal p
        gscaleFloat pscaleFloat p
          = T.ufun2 c250v5v251v29scaleFloat pscaleFloat p
              hscaleFloat
          where hscaleFloat fk fx p
                  = T.uap2 T.mkNoSrcPos p (gencodeFloat T.mkNoSrcPos p)
                      (gm T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (gn T.mkNoSrcPos p)
                         fk)
                  where gm pm p = T.uconstUse pm p sm
                        gn pn p = T.uconstUse pn p sn
                        sm
                          = T.uconstDef p c251v31v251v51m
                              (\ _ ->
                                 case j251v31v251v51m of
                                     (km, fm, fn) -> fm)
                        sn
                          = T.uconstDef p c251v31v251v51n
                              (\ _ ->
                                 case j251v31v251v51m of
                                     (km, fm, fn) -> fn)
                        j251v31v251v51m
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gdecodeFloat T.mkNoSrcPos p)
                                fx
                              of
                                T.R (T.Tuple2 fm fn) km -> (km, fm, fn)
                                _ -> T.fatal p
        gatan2 patan2 p
          = T.ufun2 c253v5v264v30atan2 patan2 p hatan2
          where hatan2 fy fx p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fx
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (T.uap1 T.mkNoSrcPos p (gatan T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p) fy fx))
                      (T.ucguard
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fx
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (0))))
                               (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (0))))
                               p))
                         (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                            (gpi T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (2))))
                         (T.ucguard
                            (T.uwrapForward p
                               ((*&&)
                                  (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                                     fx
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gfromInteger
                                           T.mkNoSrcPos
                                           p)
                                        (T.conInteger T.mkNoSrcPos p (0))))
                                  (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p)
                                     fy
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gfromInteger
                                           T.mkNoSrcPos
                                           p)
                                        (T.conInteger T.mkNoSrcPos p (0))))
                                  p))
                            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                               (gpi T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gatan T.mkNoSrcPos p)
                                  (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                                     fy
                                     fx)))
                            (T.ucguard
                               (T.uwrapForward p
                                  ((*||)
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!<=) T.mkNoSrcPos p)
                                              fx
                                              (T.uap1 T.mkNoSrcPos p
                                                 (Hat.PreludeBasic.gfromInteger
                                                    T.mkNoSrcPos
                                                    p)
                                                 (T.conInteger T.mkNoSrcPos p
                                                    (0))))
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!<) T.mkNoSrcPos p)
                                              fy
                                              (T.uap1 T.mkNoSrcPos p
                                                 (Hat.PreludeBasic.gfromInteger
                                                    T.mkNoSrcPos
                                                    p)
                                                 (T.conInteger T.mkNoSrcPos p
                                                    (0))))
                                           p))
                                     (T.uwrapForward p
                                        ((*||)
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!<) T.mkNoSrcPos p)
                                                    fx
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (Hat.PreludeBasic.gfromInteger
                                                          T.mkNoSrcPos
                                                          p)
                                                       (T.conInteger
                                                          T.mkNoSrcPos
                                                          p
                                                          (0))))
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gisNegativeZero
                                                       T.mkNoSrcPos
                                                       p)
                                                    fy)
                                                 p))
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gisNegativeZero
                                                       T.mkNoSrcPos
                                                       p)
                                                    fx)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gisNegativeZero
                                                       T.mkNoSrcPos
                                                       p)
                                                    fy)
                                                 p))
                                           p))
                                     p))
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                  (T.uap2 T.mkNoSrcPos p (gatan2 T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gnegate T.mkNoSrcPos
                                           p)
                                        fy)
                                     fx))
                               (T.ucguard
                                  (T.uwrapForward p
                                     ((*&&)
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!==) T.mkNoSrcPos p)
                                           fy
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p
                                                 (0))))
                                        (T.uwrapForward p
                                           ((*||)
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!<) T.mkNoSrcPos p)
                                                 fx
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfromInteger
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.conInteger T.mkNoSrcPos p
                                                       (0))))
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gisNegativeZero T.mkNoSrcPos
                                                    p)
                                                 fx)
                                              p))
                                        p))
                                  (gpi T.mkNoSrcPos p)
                                  (T.ucguard
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fx
                                              (T.uap1 T.mkNoSrcPos p
                                                 (Hat.PreludeBasic.gfromInteger
                                                    T.mkNoSrcPos
                                                    p)
                                                 (T.conInteger T.mkNoSrcPos p
                                                    (0))))
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fy
                                              (T.uap1 T.mkNoSrcPos p
                                                 (Hat.PreludeBasic.gfromInteger
                                                    T.mkNoSrcPos
                                                    p)
                                                 (T.conInteger T.mkNoSrcPos p
                                                    (0))))
                                           p))
                                     (T.projection T.mkNoSrcPos p fy)
                                     (T.ucguard (gotherwise T.mkNoSrcPos p)
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!+) T.mkNoSrcPos p)
                                           fx
                                           fy)
                                        (T.fatal p)))))))
 
gsubtract ::
            (Num a) =>
            T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
 
ssubtract :: (Num a) => T.R (T.Fun a (T.Fun a a))
gsubtract psubtract p
  = T.uconstUse psubtract p ssubtract
ssubtract
  = T.uconstDef p asubtract
      (\ p ->
         T.uap1 T.mkNoSrcPos p (gflip T.mkNoSrcPos p)
           ((!-) T.mkNoSrcPos p))
 
geven, godd ::
         (Integral a) =>
         T.RefSrcPos -> T.RefExp -> T.R (T.Fun a Bool)
 
heven ::
        (Integral a) => T.R a -> T.RefExp -> T.R Bool
 
sodd :: (Integral a) => T.R (T.Fun a Bool)
geven peven p = T.ufun1 aeven peven p heven
heven fn p
  = T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
      (T.uap2 T.mkNoSrcPos p (grem T.mkNoSrcPos p) fn
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (2))))
      (T.uap1 T.mkNoSrcPos p
         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
         (T.conInteger T.mkNoSrcPos p (0)))
godd podd p = T.uconstUse podd p sodd
sodd
  = T.uconstDef p aodd
      (\ p ->
         T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
           (gnot T.mkNoSrcPos p)
           (geven T.mkNoSrcPos p))
 
ggcd ::
       (Integral a) =>
       T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
 
hgcd ::
       (Integral a) => T.R a -> T.R a -> T.RefExp -> T.R a
ggcd pgcd p = T.ufun2 agcd pgcd p hgcd
hgcd fv279v5v279v5n v279v7v279v7n p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
         fv279v5v279v5n
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (h279v1v279v61n v279v7v279v7n p)
      (y1gcd fv279v5v279v5n v279v7v279v7n p)
  where h279v1v279v61n fv279v7v279v7n p
          = T.ucguard
              (T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                 fv279v7v279v7n
                 (T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                    (T.conInteger T.mkNoSrcPos p (0))))
              (h279v1v279v61n p)
              (y1gcd fv279v5v279v5n v279v7v279v7n p)
          where h279v1v279v61n p
                  = T.uwrapForward p
                      (herror
                         (T.fromLitString T.mkNoSrcPos p
                            "Prelude.gcd: gcd 0 0 is undefined")
                         p)
                h279v1v279v61n p
                  = y1gcd fv279v5v279v5n v279v7v279v7n p
        h279v1v279v61n _ p
          = y1gcd fv279v5v279v5n v279v7v279v7n p
hgcd fv279v5v279v5n v279v7v279v7n p
  = y1gcd fv279v5v279v5n v279v7v279v7n p
y1gcd fx fy p
  = T.uwrapForward p
      (hgcd'
         (T.uap1 T.mkNoSrcPos p (gabs T.mkNoSrcPos p) fx)
         (T.uap1 T.mkNoSrcPos p (gabs T.mkNoSrcPos p) fy)
         p)
  where ggcd' pgcd' p
          = T.ufun2 c281v27v282v57gcd' pgcd' p hgcd'
        agcd' = c281v27v282v57gcd'
        hgcd' fx fv281v34v281v34n p
          = T.ucguard
              (T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                 fv281v34v281v34n
                 (T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                    (T.conInteger T.mkNoSrcPos p (0))))
              (h281v27v281v40n p)
              (y1gcd' fx fv281v34v281v34n p)
          where h281v27v281v40n p
                  = T.projection T.mkNoSrcPos p fx
                h281v27v281v40n p = y1gcd' fx fv281v34v281v34n p
        hgcd' fx fv281v34v281v34n p
          = y1gcd' fx fv281v34v281v34n p
        y1gcd' fx fy p
          = T.uwrapForward p
              (hgcd' fy
                 (T.uap2 T.mkNoSrcPos p (grem T.mkNoSrcPos p) fx fy)
                 p)
 
glcm ::
       (Integral a) =>
       T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
 
hlcm ::
       (Integral a) => T.R a -> T.R a -> T.RefExp -> T.R a
glcm plcm p = T.ufun2 alcm plcm p hlcm
hlcm z1lcm@_ fv286v7v286v7n p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
         fv286v7v286v7n
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (h286v1v286v21n p)
      (y1lcm z1lcm fv286v7v286v7n p)
  where h286v1v286v21n p
          = T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (0))
        h286v1v286v21n p = y1lcm z1lcm fv286v7v286v7n p
hlcm z1lcm fv286v7v286v7n p
  = y1lcm z1lcm fv286v7v286v7n p
y1lcm fv287v5v287v5n v287v7v287v7n p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
         fv287v5v287v5n
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (h287v1v287v21n v287v7v287v7n p)
      (y2lcm fv287v5v287v5n v287v7v287v7n p)
  where h287v1v287v21n _ p
          = T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (0))
        h287v1v287v21n _ p
          = y2lcm fv287v5v287v5n v287v7v287v7n p
y1lcm fv287v5v287v5n v287v7v287v7n p
  = y2lcm fv287v5v287v5n v287v7v287v7n p
y2lcm fx fy p
  = T.uap1 T.mkNoSrcPos p (gabs T.mkNoSrcPos p)
      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
         (T.uap2 T.mkNoSrcPos p (gquot T.mkNoSrcPos p) fx
            (T.uwrapForward p (hgcd fx fy p)))
         fy)
 
(!^) ::
       (Num a, Integral b) =>
       T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun b a))
 
(*^) ::
       (Num a, Integral b) =>
       T.R a -> T.R b -> T.RefExp -> T.R a
(%^) !^ p = T.ufun2 (+^) (%^) p (*^)
(fx *^ fv292v5v292v5n) p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
         fv292v5v292v5n
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (h292v1v292v21n p)
      ((>#^) fx fv292v5v292v5n p)
  where h292v1v292v21n p
          = T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (1))
        h292v1v292v21n p = (>#^) fx fv292v5v292v5n p
(fx *^ fv292v5v292v5n) p = (>#^) fx fv292v5v292v5n p
(fx >#^ fn) p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fn
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.uwrapForward p
         (hf fx
            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (1))))
            fx
            p))
      ((>$^) fx fn p)
  where gf pf p = T.ufun3 c294v27v298v0f pf p hf
        af = c294v27v298v0f
        hf z1f@_ fv294v31v294v31n fy p
          = T.ucguard
              (T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                 fv294v31v294v31n
                 (T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                    (T.conInteger T.mkNoSrcPos p (0))))
              (h294v27v294v37n fy p)
              (y1f z1f fv294v31v294v31n fy p)
          where h294v27v294v37n fy p
                  = T.projection T.mkNoSrcPos p fy
                h294v27v294v37n _ p = y1f z1f fv294v31v294v31n fy p
        hf z1f fv294v31v294v31n fy p
          = y1f z1f fv294v31v294v31n fy p
        y1f fx fn fy p = T.uwrapForward p (hg fx fn p)
          where gg pg p = T.ufun2 c296v37v297v71g pg p hg
                ag = c296v37v297v71g
                hg fx fn p
                  = T.ucguard (T.uwrapForward p (heven fn p))
                      (T.uwrapForward p
                         (hg
                            (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fx)
                            (T.uap2 T.mkNoSrcPos p (gquot T.mkNoSrcPos p) fn
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (2))))
                            p))
                      (T.ucguard (gotherwise T.mkNoSrcPos p)
                         (T.uwrapForward p
                            (hf fx
                               (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (1))))
                               (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
                                  fy)
                               p))
                         (T.fatal p))
(fx >#^ fn) p = (>$^) fx fn p
(_ >$^ _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.^: negative exponent")
         p)
 
(!^^) ::
        (Fractional a, Integral b) =>
        T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun b a))
 
(*^^) ::
        (Fractional a, Integral b) =>
        T.R a -> T.R b -> T.RefExp -> T.R a
(%^^) !^^ p = T.ufun2 (+^^) (%^^) p (*^^)
(fx *^^ fn) p
  = T.ucif p
      (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fn
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.uwrapForward p ((*^) fx fn p))
      (T.uap1 T.mkNoSrcPos p (grecip T.mkNoSrcPos p)
         (T.uwrapForward p
            ((*^) fx
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                  fn)
               p)))
 
gfromIntegral ::
                (Integral a, Num b) =>
                T.RefSrcPos -> T.RefExp -> T.R (T.Fun a b)
 
sfromIntegral ::
                (Integral a, Num b) => T.R (T.Fun a b)
gfromIntegral pfromIntegral p
  = T.uconstUse pfromIntegral p sfromIntegral
sfromIntegral
  = T.uconstDef p afromIntegral
      (\ p ->
         T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
           (gfromInteger T.mkNoSrcPos p)
           (gtoInteger T.mkNoSrcPos p))
 
grealToFrac ::
              (Real a, Fractional b) =>
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a b)
 
srealToFrac ::
              (Real a, Fractional b) => T.R (T.Fun a b)
grealToFrac prealToFrac p
  = T.uconstUse prealToFrac p srealToFrac
srealToFrac
  = T.uconstDef p arealToFrac
      (\ p ->
         T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
           (gfromRational T.mkNoSrcPos p)
           (gtoRational T.mkNoSrcPos p))
 
class Functor f where
         
        gfmap ::
              T.RefSrcPos ->
                T.RefExp ->
                  T.R (T.Fun (T.Fun a b) (T.Fun (f a) (f b)))
         
        sfmap :: T.R (T.Fun (T.Fun a b) (T.Fun (f a) (f b)))
        sfmap = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
 
class Monad m where
         
        (!>>=) ::
               T.RefSrcPos ->
                 T.RefExp ->
                   T.R (T.Fun (m a) (T.Fun (T.Fun a (m b)) (m b)))
         
        (|>>=) ::
               T.R (T.Fun (m a) (T.Fun (T.Fun a (m b)) (m b)))
        (|>>=) = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        (!>>) ::
              T.RefSrcPos ->
                T.RefExp -> T.R (T.Fun (m a) (T.Fun (m b) (m b)))
         
        (|>>) :: T.R (T.Fun (m a) (T.Fun (m b) (m b)))
         
        greturn ::
                T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (m a))
         
        sreturn :: T.R (T.Fun a (m a))
        sreturn = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        gfail ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun String (m a))
         
        sfail :: T.R (T.Fun String (m a))
        (%>>) !>> p = T.ufun2 (+%$^=*=%$^=$@>>) (%>>) p (*>>)
          where (fm *>> fk) p
                  = T.uap2 T.mkNoSrcPos p ((!>>=) T.mkNoSrcPos p) fm
                      (T.ufun1 T.mkLambda T.mkNoSrcPos p
                         (\ _ p -> T.projection T.mkNoSrcPos p fk))
        gfail pfail p
          = T.ufun1 c328v5v328v21fail pfail p hfail
          where hfail fs p = T.uwrapForward p (herror fs p)
 
gsequence ::
            (Monad m) =>
            T.RefSrcPos ->
              T.RefExp -> T.R (T.Fun (T.List (m a)) (m (T.List a)))
 
ssequence ::
            (Monad m) =>
            T.R (T.Fun (T.List (m a)) (m (T.List a)))
gsequence psequence p
  = T.uconstUse psequence p ssequence
ssequence
  = T.uconstDef p asequence
      (\ p ->
         let gmcons pmcons p
               = T.ufun2 c333v27v333v74mcons pmcons p hmcons
             amcons = c333v27v333v74mcons
             hmcons fp fq p
               = T.uap2 T.mkNoSrcPos p ((!>>=) T.mkNoSrcPos p) fp
                   (T.ufun1 T.mkLambda T.mkNoSrcPos p
                      (\ fx p ->
                         T.uap2 T.mkNoSrcPos p ((!>>=) T.mkNoSrcPos p) fq
                           (T.ufun1 T.mkLambda T.mkNoSrcPos p
                              (\ fy p ->
                                 T.uap1 T.mkNoSrcPos p (greturn T.mkNoSrcPos p)
                                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
                                      fy)))))
           in
           T.uap2 T.mkNoSrcPos p (gfoldr T.mkNoSrcPos p)
             (gmcons T.mkNoSrcPos p)
             (T.uap1 T.mkNoSrcPos p (greturn T.mkNoSrcPos p)
                (T.con0 T.mkNoSrcPos p T.Nil T.aNil)))
 
gsequence_ ::
             (Monad m) =>
             T.RefSrcPos ->
               T.RefExp -> T.R (T.Fun (T.List (m a)) (m T.Tuple0))
 
ssequence_ ::
             (Monad m) => T.R (T.Fun (T.List (m a)) (m T.Tuple0))
gsequence_ psequence_ p
  = T.uconstUse psequence_ p ssequence_
ssequence_
  = T.uconstDef p asequence_
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldr T.mkNoSrcPos p)
           ((!>>) T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p (greturn T.mkNoSrcPos p)
              (T.con0 T.mkNoSrcPos p T.Tuple0 T.aTuple0)))
 
gmapM ::
        (Monad m) =>
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a (m b))
                 (T.Fun (T.List a) (m (T.List b))))
 
hmapM ::
        (Monad m) =>
        T.R (T.Fun a (m b)) ->
          T.R (T.List a) -> T.RefExp -> T.R (m (T.List b))
gmapM pmapM p = T.ufun2 amapM pmapM p hmapM
hmapM ff fas p
  = T.uap1 T.mkNoSrcPos p (gsequence T.mkNoSrcPos p)
      (T.uwrapForward p (hmap ff fas p))
 
gmapM_ ::
         (Monad m) =>
         T.RefSrcPos ->
           T.RefExp ->
             T.R
               (T.Fun (T.Fun a (m b))
                  (T.Fun (T.List a) (m T.Tuple0)))
 
hmapM_ ::
         (Monad m) =>
         T.R (T.Fun a (m b)) ->
           T.R (T.List a) -> T.RefExp -> T.R (m T.Tuple0)
gmapM_ pmapM_ p = T.ufun2 amapM_ pmapM_ p hmapM_
hmapM_ ff fas p
  = T.uap1 T.mkNoSrcPos p (gsequence_ T.mkNoSrcPos p)
      (T.uwrapForward p (hmap ff fas p))
 
(!=<<) ::
         (Monad m) =>
         T.RefSrcPos ->
           T.RefExp ->
             T.R (T.Fun (T.Fun a (m b)) (T.Fun (m a) (m b)))
 
(*=<<) ::
         (Monad m) =>
         T.R (T.Fun a (m b)) ->
           T.R (m a) -> T.RefExp -> T.R (m b)
(%=<<) !=<< p = T.ufun2 (+=<<) (%=<<) p (*=<<)
(ff *=<< fx) p
  = T.uap2 T.mkNoSrcPos p ((!>>=) T.mkNoSrcPos p) fx ff
 
instance Eq T.Tuple0 where
        (%==) !== p = T.ufun2 (+%+!=%=%+!=#^==) (%==) p (*==)
          where (T.R T.Tuple0 _ *== T.R T.Tuple0 _) p
                  = T.con0 T.mkNoSrcPos p True aTrue
                (_ *== _) p = T.fatal p
 
instance Ord T.Tuple0 where
        gcompare pcompare p
          = T.ufun2 c363v3v363v20compare pcompare p hcompare
          where hcompare (T.R T.Tuple0 _) (T.R T.Tuple0 _) p
                  = T.con0 T.mkNoSrcPos p EQ aEQ
                hcompare _ _ p = T.fatal p
 
instance Enum T.Tuple0 where
        gfromEnum pfromEnum p
          = T.ufun1 c366v3v366v17fromEnum pfromEnum p hfromEnum
          where hfromEnum (T.R T.Tuple0 _) p
                  = T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (0))
                hfromEnum _ p = T.fatal p
        gtoEnum ptoEnum p
          = T.ufun1 c367v3v368v79toEnum ptoEnum p htoEnum
          where htoEnum fn p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fn
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (T.con0 T.mkNoSrcPos p T.Tuple0 T.aTuple0)
                      (y1toEnum fn p)
                htoEnum fn p = y1toEnum fn p
                y1toEnum fn p
                  = T.uwrapForward p
                      (herror
                         (T.uwrapForward p
                            ((*++)
                               (T.fromLitString T.mkNoSrcPos p
                                  "Prelude.Enum_Prelude.Unit_toEnum on ")
                               (T.uap1 T.mkNoSrcPos p (gshow T.mkNoSrcPos p) fn)
                               p))
                         p)
 
instance Bounded T.Tuple0 where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c371v3v371v15minBound
              (\ p -> T.con0 T.mkNoSrcPos p T.Tuple0 T.aTuple0)
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c372v3v372v15maxBound
              (\ p -> T.con0 T.mkNoSrcPos p T.Tuple0 T.aTuple0)
 
gid :: T.RefSrcPos -> T.RefExp -> T.R (T.Fun a a)
 
hid :: T.R a -> T.RefExp -> T.R a
gid pid p = T.ufun1 aid pid p hid
hid fx p = T.projection T.mkNoSrcPos p fx
 
gconst ::
       T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun b a))
 
hconst :: T.R a -> T.R b -> T.RefExp -> T.R a
gconst pconst p = T.ufun2 aconst pconst p hconst
hconst fx _ p = T.projection T.mkNoSrcPos p fx
 
(!.) ::
     T.RefSrcPos ->
       T.RefExp ->
         T.R
           (T.Fun (T.Fun b c) (T.Fun (T.Fun a b) (T.Fun a c)))
 
(*.) ::
     T.R (T.Fun b c) ->
       T.R (T.Fun a b) -> T.R a -> T.RefExp -> T.R c
(%.) !. p = T.ufun3 (+.) (%.) p (*.)
(ff *. fg) fx p
  = T.uap1 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      (T.uap1 T.mkNoSrcPos p fg fx)
 
gflip ::
      T.RefSrcPos ->
        T.RefExp ->
          T.R
            (T.Fun (T.Fun a (T.Fun b c)) (T.Fun b (T.Fun a c)))
 
hflip ::
      T.R (T.Fun a (T.Fun b c)) ->
        T.R b -> T.R a -> T.RefExp -> T.R c
gflip pflip p = T.ufun3 aflip pflip p hflip
hflip ff fx fy p
  = T.uap2 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      fy
      fx
 
(!$), (!$!) ::
      T.RefSrcPos ->
        T.RefExp -> T.R (T.Fun (T.Fun a b) (T.Fun a b))
 
(*$) :: T.R (T.Fun a b) -> T.R a -> T.RefExp -> T.R b
 
(*$!) ::
      T.R (T.Fun a b) -> T.R a -> T.RefExp -> T.R b
(%$) !$ p = T.ufun2 (+$) (%$) p (*$)
(ff *$ fx) p
  = T.uap1 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      fx
(%$!) !$! p = T.ufun2 (+$!) (%$!) p (*$!)
(ff *$! fx) p
  = T.uwrapForward p
      (hseq fx (T.uap1 T.mkNoSrcPos p ff fx) p)
 
instance Eq Bool where
        (%==) !== p = T.ufun2 (+&#^=%=&#>=$&==) (%==) p (*==)
          where (T.R True _ *== T.R True _) p
                  = T.con0 T.mkNoSrcPos p True aTrue
                (T.R False _ *== T.R False _) p
                  = T.con0 T.mkNoSrcPos p True aTrue
                (_ *== _) p = T.con0 T.mkNoSrcPos p False aFalse
 
instance Ord Bool where
        gcompare pcompare p
          = T.ufun2 c422v3v425v26compare pcompare p hcompare
          where hcompare (T.R False _) (T.R False _) p
                  = T.con0 T.mkNoSrcPos p EQ aEQ
                hcompare (T.R False _) (T.R True _) p
                  = T.con0 T.mkNoSrcPos p LT aLT
                hcompare (T.R True _) (T.R False _) p
                  = T.con0 T.mkNoSrcPos p GT aGT
                hcompare (T.R True _) (T.R True _) p
                  = T.con0 T.mkNoSrcPos p EQ aEQ
                hcompare _ _ p = T.fatal p
 
instance Enum Bool where
        gfromEnum pfromEnum p
          = T.ufun1 c428v3v429v22fromEnum pfromEnum p hfromEnum
          where hfromEnum (T.R False _) p
                  = T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (0))
                hfromEnum (T.R True _) p
                  = T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (1))
                hfromEnum _ p = T.fatal p
        gtoEnum ptoEnum p
          = T.ufun1 c431v3v433v71toEnum ptoEnum p htoEnum
          where htoEnum fv431v12v431v12n p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p
                         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                         fv431v12v431v12n
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (h431v3v431v20n p)
                      (y1toEnum fv431v12v431v12n p)
                  where h431v3v431v20n p
                          = T.con0 T.mkNoSrcPos p False aFalse
                        h431v3v431v20n p = y1toEnum fv431v12v431v12n p
                htoEnum fv431v12v431v12n p
                  = y1toEnum fv431v12v431v12n p
                y1toEnum fv432v12v432v12n p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p
                         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                         fv432v12v432v12n
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1))))
                      (h432v3v432v19n p)
                      (y2toEnum fv432v12v432v12n p)
                  where h432v3v432v19n p
                          = T.con0 T.mkNoSrcPos p True aTrue
                        h432v3v432v19n p = y2toEnum fv432v12v432v12n p
                y1toEnum fv432v12v432v12n p
                  = y2toEnum fv432v12v432v12n p
                y2toEnum fn p
                  = T.uwrapForward p
                      (herror
                         (T.uwrapForward p
                            ((*++)
                               (T.fromLitString T.mkNoSrcPos p
                                  "(Prelude.toEnum ")
                               (T.uwrapForward p
                                  ((*++)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshow T.mkNoSrcPos p)
                                        fn)
                                     (T.fromLitString T.mkNoSrcPos p
                                        " :: Bool) is wrong")
                                     p))
                               p))
                         p)
        genumFrom penumFrom p
          = T.ufun1 c435v3v435v32enumFrom penumFrom p henumFrom
          where henumFrom fb p
                  = T.uap2 T.mkNoSrcPos p (genumFromTo T.mkNoSrcPos p)
                      fb
                      (T.con0 T.mkNoSrcPos p True aTrue)
        genumFromThen penumFromThen p
          = T.ufun2 c436v3v436v54enumFromThen penumFromThen p
              henumFromThen
          where henumFromThen fb1 fb2 p
                  = T.uap3 T.mkNoSrcPos p
                      (genumFromThenTo T.mkNoSrcPos p)
                      fb1
                      fb2
                      (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fb2
                         fb1)
 
instance Read Bool where
        greadsPrec preadsPrec p
          = T.ufun1 c439v3v441v59readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr p ->
                               T.uwrapForward p
                                 ((*++)
                                    (T.uap2 T.mkNoSrcPos p
                                       ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                       (T.uwrapForward p (hlex fr p))
                                       (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                          (\ fv440v39v440v52v1 p ->
                                             T.uccase T.mkNoSrcPos p
                                               (let v440v39v440v52v1
                                                      (T.R
                                                         (T.Tuple2
                                                            (T.R
                                                               (T.Cons
                                                                  (T.R 'F' _)
                                                                  (T.R
                                                                     (T.Cons
                                                                        (T.R 'a'
                                                                           _)
                                                                        (T.R
                                                                           (T.Cons
                                                                              (T.R
                                                                                 'l'
                                                                                 _)
                                                                              (T.R
                                                                                 (T.Cons
                                                                                    (T.R
                                                                                       's'
                                                                                       _)
                                                                                    (T.R
                                                                                       (T.Cons
                                                                                          (T.R
                                                                                             'e'
                                                                                             _)
                                                                                          (T.R
                                                                                             T.Nil
                                                                                             _))
                                                                                       _))
                                                                                 _))
                                                                           _))
                                                                     _))
                                                               _)
                                                            fs)
                                                         _)
                                                      p
                                                      = T.uap1 T.mkNoSrcPos p
                                                          (Hat.PreludeBasic.greturn
                                                             T.mkNoSrcPos
                                                             p)
                                                          (T.con2 T.mkNoSrcPos p
                                                             T.Tuple2
                                                             T.aTuple2
                                                             (T.con0
                                                                T.mkNoSrcPos
                                                                p
                                                                False
                                                                aFalse)
                                                             fs)
                                                    v440v39v440v52v1 _ p
                                                      = T.uap1 T.mkNoSrcPos p
                                                          (Hat.PreludeBasic.gfail
                                                             T.mkNoSrcPos
                                                             p)
                                                          (T.fromLitString
                                                             T.mkNoSrcPos
                                                             p
                                                             "pattern-match failure in do-expression")
                                                  in v440v39v440v52v1)
                                               fv440v39v440v52v1)))
                                    (T.uap2 T.mkNoSrcPos p
                                       ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                       (T.uwrapForward p (hlex fr p))
                                       (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                          (\ fv441v39v441v51v1 p ->
                                             T.uccase T.mkNoSrcPos p
                                               (let v441v39v441v51v1
                                                      (T.R
                                                         (T.Tuple2
                                                            (T.R
                                                               (T.Cons
                                                                  (T.R 'T' _)
                                                                  (T.R
                                                                     (T.Cons
                                                                        (T.R 'r'
                                                                           _)
                                                                        (T.R
                                                                           (T.Cons
                                                                              (T.R
                                                                                 'u'
                                                                                 _)
                                                                              (T.R
                                                                                 (T.Cons
                                                                                    (T.R
                                                                                       'e'
                                                                                       _)
                                                                                    (T.R
                                                                                       T.Nil
                                                                                       _))
                                                                                 _))
                                                                           _))
                                                                     _))
                                                               _)
                                                            fs)
                                                         _)
                                                      p
                                                      = T.uap1 T.mkNoSrcPos p
                                                          (Hat.PreludeBasic.greturn
                                                             T.mkNoSrcPos
                                                             p)
                                                          (T.con2 T.mkNoSrcPos p
                                                             T.Tuple2
                                                             T.aTuple2
                                                             (T.con0
                                                                T.mkNoSrcPos
                                                                p
                                                                True
                                                                aTrue)
                                                             fs)
                                                    v441v39v441v51v1 _ p
                                                      = T.uap1 T.mkNoSrcPos p
                                                          (Hat.PreludeBasic.gfail
                                                             T.mkNoSrcPos
                                                             p)
                                                          (T.fromLitString
                                                             T.mkNoSrcPos
                                                             p
                                                             "pattern-match failure in do-expression")
                                                  in v441v39v441v51v1)
                                               fv441v39v441v51v1)))
                                    p)))
                         p)
 
instance Show Bool where
        gshowsPrec pshowsPrec p
          = T.ufun2 c444v3v445v38showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R False _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "False")
                hshowsPrec fp (T.R True _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "True")
                hshowsPrec _ _ p = T.fatal p
 
instance Bounded Bool where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c448v3v448v18minBound
              (\ p -> T.con0 T.mkNoSrcPos p False aFalse)
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c449v3v449v17maxBound
              (\ p -> T.con0 T.mkNoSrcPos p True aTrue)
 
(!&&), (!||) ::
       T.RefSrcPos ->
         T.RefExp -> T.R (T.Fun Bool (T.Fun Bool Bool))
 
(*&&) :: T.R Bool -> T.R Bool -> T.RefExp -> T.R Bool
 
(*||) :: T.R Bool -> T.R Bool -> T.RefExp -> T.R Bool
(%&&) !&& p = T.ufun2 (+&&) (%&&) p (*&&)
(T.R True _ *&& fx) p
  = T.projection T.mkNoSrcPos p fx
(T.R False _ *&& _) p
  = T.con0 T.mkNoSrcPos p False aFalse
(_ *&& _) p = T.fatal p
(%||) !|| p = T.ufun2 (+||) (%||) p (*||)
(T.R True _ *|| _) p
  = T.con0 T.mkNoSrcPos p True aTrue
(T.R False _ *|| fx) p
  = T.projection T.mkNoSrcPos p fx
(_ *|| _) p = T.fatal p
 
gnot ::
     T.RefSrcPos -> T.RefExp -> T.R (T.Fun Bool Bool)
 
hnot :: T.R Bool -> T.RefExp -> T.R Bool
gnot pnot p = T.ufun1 anot pnot p hnot
hnot (T.R True _) p
  = T.con0 T.mkNoSrcPos p False aFalse
hnot (T.R False _) p
  = T.con0 T.mkNoSrcPos p True aTrue
hnot _ p = T.fatal p
 
gotherwise :: T.RefSrcPos -> T.RefExp -> T.R Bool
 
sotherwise :: T.R Bool
gotherwise potherwise p
  = T.uconstUse potherwise p sotherwise
sotherwise
  = T.uconstDef p aotherwise
      (\ p -> T.con0 T.mkNoSrcPos p True aTrue)
 
instance Eq Char where
        (%==) !== p = T.ufun2 (+&^@=*=&^@=&>==) (%==) p (*==)
          where (fc *== fc') p
                  = T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p) fc)
                      (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                         fc')
 
instance Ord Char where
        (%<=) !<= p = T.ufun2 (+&@$=*=&@$=&><=) (%<=) p (*<=)
          where (fc *<= fc') p
                  = T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p) fc)
                      (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                         fc')
 
instance Enum Char where
        gtoEnum ptoEnum p = T.uconstUse ptoEnum p stoEnum
        stoEnum
          = T.uconstDef p c486v5v486v37toEnum
              (\ p -> gprimIntToChar T.mkNoSrcPos p)
        gfromEnum pfromEnum p
          = T.uconstUse pfromEnum p sfromEnum
        sfromEnum
          = T.uconstDef p c487v5v487v37fromEnum
              (\ p -> gprimCharToInt T.mkNoSrcPos p)
        genumFrom penumFrom p
          = T.ufun1 c488v5v488v76enumFrom penumFrom p henumFrom
          where henumFrom fc p
                  = T.uwrapForward p
                      (hmap (gtoEnum T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p
                            (Hat.PreludeBasic.genumFromTo T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fc)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               (gmaxBound T.mkNoSrcPos p :: T.R Char)))
                         p)
        genumFromThen penumFromThen p
          = T.ufun2 c489v5v490v27enumFromThen penumFromThen p
              henumFromThen
          where henumFromThen fc fc' p
                  = T.uwrapForward p
                      (hmap (gtoEnum T.mkNoSrcPos p)
                         (T.uap3 T.mkNoSrcPos p
                            (Hat.PreludeBasic.genumFromThenTo T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fc)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fc')
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               (glastChar T.mkNoSrcPos p)))
                         p)
                  where  
                        glastChar :: T.RefSrcPos -> T.RefExp -> T.R Char
                         
                        slastChar :: T.R Char
                        glastChar plastChar p
                          = T.uconstUse plastChar p slastChar
                        slastChar
                          = T.uconstDef p c491v29v492v59lastChar
                              (\ p ->
                                 T.ucguard
                                   (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                                      fc'
                                      fc)
                                   (gminBound T.mkNoSrcPos p)
                                   (T.ucguard (gotherwise T.mkNoSrcPos p)
                                      (gmaxBound T.mkNoSrcPos p)
                                      (T.fatal p)))
 
instance Bounded Char where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c496v5v496v31minBound
              (\ p -> T.conChar T.mkNoSrcPos p '\NUL')
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c497v5v497v46maxBound
              (\ p -> gprimUnicodeMaxBound T.mkNoSrcPos p)
 
data Maybe a = Nothing
             | Just (T.R a)
 
instance T.WrapVal (Maybe a) where
        wrapVal pwrapVal kwrapVal@Nothing p
          = T.R kwrapVal (T.mkValueUse p pwrapVal aNothing)
        wrapVal pwrapVal kwrapVal@(Just (T.R _ z1wrapVal)) p
          = T.R kwrapVal
              (T.mkValueApp1 p pwrapVal aJust z1wrapVal)
 
instance (Eq a) => Eq (Maybe a) where
        (%==) !== p
          = T.ufun2 (+*!+=*#=*!+=*$==) (%==) p (*==)
          where (T.R Nothing _ *== T.R Nothing _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.True
                      Hat.PreludeBuiltinTypes.aTrue
                (T.R (Just fy1) _ *== T.R (Just fy2) _) p
                  = T.uwrapForward p
                      ((Hat.PreludeBasic.*&&)
                         (T.uap2 T.mkNoSrcPos p
                            ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                            fy1
                            fy2)
                         (T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.True
                            Hat.PreludeBuiltinTypes.aTrue)
                         p)
                (_ *== _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.False
                      Hat.PreludeBuiltinTypes.aFalse
 
instance (Ord a) => Ord (Maybe a) where
        gcompare pcompare p
          = T.ufun2 c506v55v506v57compare pcompare p hcompare
          where hcompare (T.R (Just fy3) _) (T.R (Just fy4) _)
                  p
                  = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fy3
                      fy4
                hcompare fy1 fy2 p
                  = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p)
                      (T.uwrapForward p (hlocalFromEnum fy1 p))
                      (T.uwrapForward p (hlocalFromEnum fy2 p))
                  where glocalFromEnum plocalFromEnum p
                          = T.ufun1 c506v55v506v57localFromEnum plocalFromEnum
                              p
                              hlocalFromEnum
                        alocalFromEnum = c506v55v506v57localFromEnum
                        hlocalFromEnum (T.R Nothing _) p
                          = T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (0))
                              :: T.R Hat.PreludeBuiltinTypes.Int
                        hlocalFromEnum (T.R (Just _) _) p
                          = T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (1))
                              :: T.R Hat.PreludeBuiltinTypes.Int
                        hlocalFromEnum _ p = T.fatal p
 
instance (Read a) => Read (Maybe a) where
        greadsPrec preadsPrec p
          = T.ufun1 c506v60v506v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fy1 p
                  = T.uap2 T.mkNoSrcPos p
                      (Hat.PreludeBasic.galt T.mkNoSrcPos p)
                      (T.uwrapForward p
                         (hreadParen
                            (T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.False
                               Hat.PreludeBuiltinTypes.aFalse)
                            (T.uwrapForward p
                               (Hat.PreludeBasic.hthenLex
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gyield T.mkNoSrcPos p)
                                     (T.con0 T.mkNoSrcPos p Nothing aNothing))
                                  (T.fromLitString T.mkNoSrcPos p "Nothing")
                                  p))
                            p))
                      (T.uwrapForward p
                         (hreadParen
                            (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (9))))
                            (T.uap2 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gthenAp T.mkNoSrcPos p)
                               (T.uwrapForward p
                                  (Hat.PreludeBasic.hthenLex
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gyield T.mkNoSrcPos p)
                                        (T.pa0 Just T.cn1 T.mkNoSrcPos p aJust))
                                     (T.fromLitString T.mkNoSrcPos p "Just")
                                     p))
                               (T.uap1 T.mkNoSrcPos p
                                  (greadsPrec T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (10)))))
                            p))
 
instance (Show a) => Show (Maybe a) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c506v66v506v69showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fy1 (T.R Nothing _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "Nothing")
                hshowsPrec fy1 (T.R (Just fy2) _) p
                  = T.uwrapForward p
                      (hshowParen
                         (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (9))))
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p "Just "))
                            (T.uap2 T.mkNoSrcPos p (gshowsPrec T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (10)))
                               fy2))
                         p)
                hshowsPrec _ _ p = T.fatal p
 
gmaybe ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R (T.Fun b (T.Fun (T.Fun a b) (T.Fun (Maybe a) b)))
 
hmaybe ::
       T.R b ->
         T.R (T.Fun a b) -> T.R (Maybe a) -> T.RefExp -> T.R b
gmaybe pmaybe p = T.ufun3 amaybe pmaybe p hmaybe
hmaybe fn ff (T.R Nothing _) p
  = T.projection T.mkNoSrcPos p fn
hmaybe fn ff (T.R (Just fx) _) p
  = T.uap1 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      fx
hmaybe _ _ _ p = T.fatal p
 
instance Functor Maybe where
        gfmap pfmap p
          = T.ufun2 c515v5v516v35fmap pfmap p hfmap
          where hfmap ff (T.R Nothing _) p
                  = T.con0 T.mkNoSrcPos p Nothing aNothing
                hfmap ff (T.R (Just fx) _) p
                  = T.con1 T.mkNoSrcPos p Just aJust
                      (T.uap1 T.mkNoSrcPos p ff fx)
                hfmap _ _ p = T.fatal p
 
instance Monad Maybe where
        (%>>=) !>>= p
          = T.ufun2 (+*$!=*=*$#=%#>>=) (%>>=) p (*>>=)
          where ((T.R (Just fx) _) *>>= fk) p
                  = T.uap1 T.mkNoSrcPos p
                      (T.projection T.mkNoSrcPos p fk)
                      fx
                (T.R Nothing _ *>>= fk) p
                  = T.con0 T.mkNoSrcPos p Nothing aNothing
                (_ *>>= _) p = T.fatal p
        greturn preturn p = T.uconstUse preturn p sreturn
        sreturn
          = T.uconstDef p c522v5v522v28return
              (\ p -> T.pa0 Just T.cn1 T.mkNoSrcPos p aJust)
        gfail pfail p
          = T.ufun1 c523v5v523v31fail pfail p hfail
          where hfail fs p
                  = T.con0 T.mkNoSrcPos p Nothing aNothing
 
data Either a b = Left (T.R a)
                | Right (T.R b)
 
instance T.WrapVal (Either a b) where
        wrapVal pwrapVal kwrapVal@(Left (T.R _ z1wrapVal)) p
          = T.R kwrapVal
              (T.mkValueApp1 p pwrapVal aLeft z1wrapVal)
        wrapVal pwrapVal kwrapVal@(Right (T.R _ z1wrapVal)) p
          = T.R kwrapVal
              (T.mkValueApp1 p pwrapVal aRight z1wrapVal)
 
instance (Eq a, Eq b) => Eq (Either a b) where
        (%==) !== p
          = T.ufun2 (+*$@=*#=*$@=*$==) (%==) p (*==)
          where (T.R (Left fy1) _ *== T.R (Left fy2) _) p
                  = T.uwrapForward p
                      ((Hat.PreludeBasic.*&&)
                         (T.uap2 T.mkNoSrcPos p
                            ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                            fy1
                            fy2)
                         (T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.True
                            Hat.PreludeBuiltinTypes.aTrue)
                         p)
                (T.R (Right fy1) _ *== T.R (Right fy2) _) p
                  = T.uwrapForward p
                      ((Hat.PreludeBasic.*&&)
                         (T.uap2 T.mkNoSrcPos p
                            ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                            fy1
                            fy2)
                         (T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.True
                            Hat.PreludeBuiltinTypes.aTrue)
                         p)
                (_ *== _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.False
                      Hat.PreludeBuiltinTypes.aFalse
 
instance (Ord a, Ord b) => Ord (Either a b) where
        gcompare pcompare p
          = T.ufun2 c528v55v528v57compare pcompare p hcompare
          where hcompare (T.R (Left fy3) _) (T.R (Left fy4) _)
                  p
                  = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fy3
                      fy4
                hcompare (T.R (Right fy3) _) (T.R (Right fy4) _) p
                  = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fy3
                      fy4
                hcompare fy1 fy2 p
                  = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p)
                      (T.uwrapForward p (hlocalFromEnum fy1 p))
                      (T.uwrapForward p (hlocalFromEnum fy2 p))
                  where glocalFromEnum plocalFromEnum p
                          = T.ufun1 c528v55v528v57localFromEnum plocalFromEnum
                              p
                              hlocalFromEnum
                        alocalFromEnum = c528v55v528v57localFromEnum
                        hlocalFromEnum (T.R (Left _) _) p
                          = T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (0))
                              :: T.R Hat.PreludeBuiltinTypes.Int
                        hlocalFromEnum (T.R (Right _) _) p
                          = T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (1))
                              :: T.R Hat.PreludeBuiltinTypes.Int
                        hlocalFromEnum _ p = T.fatal p
 
instance (Read a, Read b) => Read (Either a b) where
        greadsPrec preadsPrec p
          = T.ufun1 c528v60v528v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fy1 p
                  = T.uap2 T.mkNoSrcPos p
                      (Hat.PreludeBasic.galt T.mkNoSrcPos p)
                      (T.uwrapForward p
                         (hreadParen
                            (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (9))))
                            (T.uap2 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gthenAp T.mkNoSrcPos p)
                               (T.uwrapForward p
                                  (Hat.PreludeBasic.hthenLex
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gyield T.mkNoSrcPos p)
                                        (T.pa0 Left T.cn1 T.mkNoSrcPos p aLeft))
                                     (T.fromLitString T.mkNoSrcPos p "Left")
                                     p))
                               (T.uap1 T.mkNoSrcPos p
                                  (greadsPrec T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (10)))))
                            p))
                      (T.uwrapForward p
                         (hreadParen
                            (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (9))))
                            (T.uap2 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gthenAp T.mkNoSrcPos p)
                               (T.uwrapForward p
                                  (Hat.PreludeBasic.hthenLex
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gyield T.mkNoSrcPos p)
                                        (T.pa0 Right T.cn1 T.mkNoSrcPos p
                                           aRight))
                                     (T.fromLitString T.mkNoSrcPos p "Right")
                                     p))
                               (T.uap1 T.mkNoSrcPos p
                                  (greadsPrec T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (10)))))
                            p))
 
instance (Show a, Show b) => Show (Either a b) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c528v66v528v69showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fy1 (T.R (Left fy2) _) p
                  = T.uwrapForward p
                      (hshowParen
                         (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (9))))
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p "Left "))
                            (T.uap2 T.mkNoSrcPos p (gshowsPrec T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (10)))
                               fy2))
                         p)
                hshowsPrec fy1 (T.R (Right fy2) _) p
                  = T.uwrapForward p
                      (hshowParen
                         (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (9))))
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p "Right "))
                            (T.uap2 T.mkNoSrcPos p (gshowsPrec T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (10)))
                               fy2))
                         p)
                hshowsPrec _ _ p = T.fatal p
 
geither ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a c)
                 (T.Fun (T.Fun b c) (T.Fun (Either a b) c)))
 
heither ::
        T.R (T.Fun a c) ->
          T.R (T.Fun b c) ->
            T.R (Either a b) -> T.RefExp -> T.R c
geither peither p = T.ufun3 aeither peither p heither
heither ff fg (T.R (Left fx) _) p
  = T.uap1 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      fx
heither ff fg (T.R (Right fy) _) p
  = T.uap1 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p fg)
      fy
heither _ _ _ p = T.fatal p
 
instance Functor IO where
        gfmap pfmap p
          = T.ufun2 c542v4v542v43fmap pfmap p hfmap
          where hfmap ff fx p
                  = T.uap2 T.mkNoSrcPos p ((!>>=) T.mkNoSrcPos p) fx
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (greturn T.mkNoSrcPos p)
                         ff)
 
instance Monad IO where
        (%>>=) !>>= p = T.uconstUse (%>>=) p (|>>=)
        (|>>=)
          = T.uconstDef p (+*&+=&=*&+=$$>>=)
              (\ p -> gprimIOBind T.mkNoSrcPos p)
        greturn preturn p = T.uconstUse preturn p sreturn
        sreturn
          = T.uconstDef p c547v4v547v24return
              (\ p -> gprimIOReturn T.mkNoSrcPos p)
        gfail pfail p
          = T.ufun1 c548v4v548v33fail pfail p hfail
          where hfail fs p
                  = T.uwrapForward p
                      (hioError (T.uwrapForward p (huserError fs p)) p)
 
data Ordering = LT
              | EQ
              | GT
 
instance T.WrapVal Ordering where
        wrapVal pwrapVal kwrapVal@LT p
          = T.R kwrapVal (T.mkValueUse p pwrapVal aLT)
        wrapVal pwrapVal kwrapVal@EQ p
          = T.R kwrapVal (T.mkValueUse p pwrapVal aEQ)
        wrapVal pwrapVal kwrapVal@GT p
          = T.R kwrapVal (T.mkValueUse p pwrapVal aGT)
 
instance Eq Ordering where
        (%==) !== p
          = T.ufun2 (+**&=$#=**&=$$==) (%==) p (*==)
          where (T.R LT _ *== T.R LT _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.True
                      Hat.PreludeBuiltinTypes.aTrue
                (T.R EQ _ *== T.R EQ _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.True
                      Hat.PreludeBuiltinTypes.aTrue
                (T.R GT _ *== T.R GT _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.True
                      Hat.PreludeBuiltinTypes.aTrue
                (_ *== _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.False
                      Hat.PreludeBuiltinTypes.aFalse
 
instance Ord Ordering where
        gcompare pcompare p
          = T.ufun2 c554v25v554v27compare pcompare p hcompare
          where hcompare fy1 fy2 p
                  = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p)
                      (T.uwrapForward p (hlocalFromEnum fy1 p))
                      (T.uwrapForward p (hlocalFromEnum fy2 p))
                  where glocalFromEnum plocalFromEnum p
                          = T.ufun1 c554v25v554v27localFromEnum plocalFromEnum
                              p
                              hlocalFromEnum
                        alocalFromEnum = c554v25v554v27localFromEnum
                        hlocalFromEnum (T.R LT _) p
                          = T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (0))
                              :: T.R Hat.PreludeBuiltinTypes.Int
                        hlocalFromEnum (T.R EQ _) p
                          = T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (1))
                              :: T.R Hat.PreludeBuiltinTypes.Int
                        hlocalFromEnum (T.R GT _) p
                          = T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (2))
                              :: T.R Hat.PreludeBuiltinTypes.Int
                        hlocalFromEnum _ p = T.fatal p
 
instance Enum Ordering where
        gfromEnum pfromEnum p
          = T.ufun1 c554v30v554v33fromEnum pfromEnum p
              hfromEnum
          where hfromEnum (T.R LT _) p
                  = T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (0))
                hfromEnum (T.R EQ _) p
                  = T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (1))
                hfromEnum (T.R GT _) p
                  = T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (2))
                hfromEnum _ p = T.fatal p
        gtoEnum ptoEnum p
          = T.ufun1 c554v30v554v33toEnum ptoEnum p htoEnum
          where htoEnum fv554v30v554v33n p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p
                         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                         fv554v30v554v33n
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (h554v30v554v33n p)
                      (y1toEnum fv554v30v554v33n p)
                  where h554v30v554v33n p
                          = T.con0 T.mkNoSrcPos p LT aLT
                        h554v30v554v33n p = y1toEnum fv554v30v554v33n p
                htoEnum fv554v30v554v33n p
                  = y1toEnum fv554v30v554v33n p
                y1toEnum fv554v30v554v33n p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p
                         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                         fv554v30v554v33n
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1))))
                      (h554v30v554v33n p)
                      (y2toEnum fv554v30v554v33n p)
                  where h554v30v554v33n p
                          = T.con0 T.mkNoSrcPos p EQ aEQ
                        h554v30v554v33n p = y2toEnum fv554v30v554v33n p
                y1toEnum fv554v30v554v33n p
                  = y2toEnum fv554v30v554v33n p
                y2toEnum fv554v30v554v33n p
                  = T.ucguard
                      (T.uap2 T.mkNoSrcPos p
                         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                         fv554v30v554v33n
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (2))))
                      (h554v30v554v33n p)
                      (y3toEnum fv554v30v554v33n p)
                  where h554v30v554v33n p
                          = T.con0 T.mkNoSrcPos p GT aGT
                        h554v30v554v33n p = y3toEnum fv554v30v554v33n p
                y2toEnum fv554v30v554v33n p
                  = y3toEnum fv554v30v554v33n p
                y3toEnum _ p
                  = T.uwrapForward p
                      (herror
                         (T.fromLitString T.mkNoSrcPos p
                            "toEnum: argument out of bounds")
                         p)
        genumFrom penumFrom p
          = T.ufun1 c554v30v554v33enumFrom penumFrom p
              henumFrom
          where henumFrom fy1 p
                  = T.uap2 T.mkNoSrcPos p (genumFromTo T.mkNoSrcPos p)
                      fy1
                      (T.con0 T.mkNoSrcPos p GT aGT)
        genumFromThen penumFromThen p
          = T.ufun2 c554v30v554v33enumFromThen penumFromThen p
              henumFromThen
          where henumFromThen fy1 fy2 p
                  = T.uap3 T.mkNoSrcPos p
                      (genumFromThenTo T.mkNoSrcPos p)
                      fy1
                      fy2
                      (T.ucif p
                         (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fy2)
                            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                               fy1))
                         (T.con0 T.mkNoSrcPos p GT aGT)
                         (T.con0 T.mkNoSrcPos p LT aLT))
 
instance Read Ordering where
        greadsPrec preadsPrec p
          = T.ufun1 c554v36v554v39readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fy1 p
                  = T.uap2 T.mkNoSrcPos p
                      (Hat.PreludeBasic.galt T.mkNoSrcPos p)
                      (T.uwrapForward p
                         (hreadParen
                            (T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.False
                               Hat.PreludeBuiltinTypes.aFalse)
                            (T.uwrapForward p
                               (Hat.PreludeBasic.hthenLex
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gyield T.mkNoSrcPos p)
                                     (T.con0 T.mkNoSrcPos p LT aLT))
                                  (T.fromLitString T.mkNoSrcPos p "LT")
                                  p))
                            p))
                      (T.uap2 T.mkNoSrcPos p
                         (Hat.PreludeBasic.galt T.mkNoSrcPos p)
                         (T.uwrapForward p
                            (hreadParen
                               (T.con0 T.mkNoSrcPos p
                                  Hat.PreludeBuiltinTypes.False
                                  Hat.PreludeBuiltinTypes.aFalse)
                               (T.uwrapForward p
                                  (Hat.PreludeBasic.hthenLex
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gyield T.mkNoSrcPos p)
                                        (T.con0 T.mkNoSrcPos p EQ aEQ))
                                     (T.fromLitString T.mkNoSrcPos p "EQ")
                                     p))
                               p))
                         (T.uwrapForward p
                            (hreadParen
                               (T.con0 T.mkNoSrcPos p
                                  Hat.PreludeBuiltinTypes.False
                                  Hat.PreludeBuiltinTypes.aFalse)
                               (T.uwrapForward p
                                  (Hat.PreludeBasic.hthenLex
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gyield T.mkNoSrcPos p)
                                        (T.con0 T.mkNoSrcPos p GT aGT))
                                     (T.fromLitString T.mkNoSrcPos p "GT")
                                     p))
                               p)))
 
instance Show Ordering where
        gshowsPrec pshowsPrec p
          = T.ufun2 c554v42v554v45showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fy1 (T.R LT _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "LT")
                hshowsPrec fy1 (T.R EQ _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "EQ")
                hshowsPrec fy1 (T.R GT _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "GT")
                hshowsPrec _ _ p = T.fatal p
 
instance Bounded Ordering where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c554v48v554v54minBound
              (\ p -> T.con0 T.mkNoSrcPos p LT aLT)
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c554v48v554v54maxBound
              (\ p -> T.con0 T.mkNoSrcPos p GT aGT)
 
instance Eq Int where
        (%==) !== p = T.ufun2 (+*+*=%=*+*=$&==) (%==) p (*==)
          where (fa *== fb) p
                  = T.uwrapForward p (hprimIntEq fa fb p)
        (%/=) !/= p = T.ufun2 (+*++=%=*++=$&/=) (%/=) p (*/=)
          where (fa */= fb) p
                  = T.uwrapForward p (hprimIntNe fa fb p)
 
instance Ord Int where
        (%<) !< p = T.ufun2 (+*+>=%=*+>=$&<) (%<) p (*<)
          where (fa *< fb) p
                  = T.uwrapForward p (hprimIntLt fa fb p)
        (%<=) !<= p = T.ufun2 (+*^!=%=*^!=$&<=) (%<=) p (*<=)
          where (fa *<= fb) p
                  = T.uwrapForward p (hprimIntLe fa fb p)
        (%>=) !>= p = T.ufun2 (+*^#=%=*^#=$&>=) (%>=) p (*>=)
          where (fa *>= fb) p
                  = T.uwrapForward p (hprimIntGe fa fb p)
        (%>) !> p = T.ufun2 (+*^$=%=*^$=$&>) (%>) p (*>)
          where (fa *> fb) p
                  = T.uwrapForward p (hprimIntGt fa fb p)
 
instance Num Int where
        (%+) !+ p = T.ufun2 (+*^*=$=*^*=$^+) (%+) p (*+)
          where (fa *+ fb) p
                  = T.uwrapForward p (hprimIntPlus fa fb p)
        (%-) !- p = T.ufun2 (+*^+=$=*^+=$@-) (%-) p (*-)
          where (fa *- fb) p
                  = T.uwrapForward p (hprimIntMinus fa fb p)
        (%*) !* p = T.ufun2 (+*^^=$=*^^=$@*) (%*) p (**)
          where (fa ** fb) p
                  = T.uwrapForward p (hprimIntTimes fa fb p)
        gnegate pnegate p
          = T.ufun1 c578v2v578v27negate pnegate p hnegate
          where hnegate fa p
                  = T.uwrapForward p (hprimIntNegate fa p)
        gabs pabs p = T.ufun1 c579v2v579v24abs pabs p habs
          where habs fa p = T.uwrapForward p (hprimIntAbs fa p)
        gsignum psignum p
          = T.ufun1 c580v2v580v27signum psignum p hsignum
          where hsignum fa p
                  = T.uwrapForward p (hprimIntSignum fa p)
        gfromInteger pfromInteger p
          = T.ufun1 c581v2v581v37fromInteger pfromInteger p
              hfromInteger
          where hfromInteger fi p
                  = T.uwrapForward p (hprimIntFromInteger fi p)
 
instance Real Int where
        gtoRational ptoRational p
          = T.ufun1 c584v5v584v36toRational ptoRational p
              htoRational
          where htoRational fi p
                  = T.uwrapForward p
                      ((*%)
                         (T.uap1 T.mkNoSrcPos p (gtoInteger T.mkNoSrcPos p)
                            fi)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1)))
                         p)
 
instance Integral Int where
        gquot pquot p
          = T.ufun2 c587v5v587v41quot pquot p hquot
          where hquot fn fd p
                  = T.uwrapForward p (hprimIntQuot fn fd p)
        grem prem p = T.ufun2 c588v5v588v40rem prem p hrem
          where hrem fn fd p
                  = T.uwrapForward p (hprimIntRem fn fd p)
        gquotRem pquotRem p
          = T.ufun2 c589v5v589v49quotRem pquotRem p hquotRem
          where hquotRem fn fd p
                  = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                      (T.uap2 T.mkNoSrcPos p (gquot T.mkNoSrcPos p) fn fd)
                      (T.uap2 T.mkNoSrcPos p (grem T.mkNoSrcPos p) fn fd)
        gtoInteger ptoInteger p
          = T.ufun1 c591v5v591v46toInteger ptoInteger p
              htoInteger
          where htoInteger fn p
                  = T.uwrapForward p (hprimIntegerFromInt fn p)
 
instance Enum Int where
        gtoEnum ptoEnum p = T.uconstUse ptoEnum p stoEnum
        stoEnum
          = T.uconstDef p c594v3v594v13toEnum
              (\ p -> gid T.mkNoSrcPos p)
        gfromEnum pfromEnum p
          = T.uconstUse pfromEnum p sfromEnum
        sfromEnum
          = T.uconstDef p c595v3v595v15fromEnum
              (\ p -> gid T.mkNoSrcPos p)
        genumFrom penumFrom p
          = T.ufun1 c597v3v597v36enumFrom penumFrom p henumFrom
          where henumFrom fx p
                  = T.uap2 T.mkNoSrcPos p (genumFromTo T.mkNoSrcPos p)
                      fx
                      (gmaxBound T.mkNoSrcPos p)
        genumFromThen penumFromThen p
          = T.ufun2 c598v3v598v79enumFromThen penumFromThen p
              henumFromThen
          where henumFromThen fx fy p
                  = T.uap3 T.mkNoSrcPos p
                      (genumFromThenTo T.mkNoSrcPos p)
                      fx
                      fy
                      (T.ucif p
                         (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fy fx)
                         (gmaxBound T.mkNoSrcPos p)
                         (gminBound T.mkNoSrcPos p))
        genumFromTo penumFromTo p
          = T.ufun2 c599v3v599v40enumFromTo penumFromTo p
              henumFromTo
          where henumFromTo fn fm p
                  = T.uwrapForward p
                      (hintEnumFromByTo fn
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1)))
                         fm
                         p)
        genumFromThenTo penumFromThenTo p
          = T.ufun3 c600v3v600v52enumFromThenTo penumFromThenTo
              p
              henumFromThenTo
          where henumFromThenTo fn fn' fm p
                  = T.uwrapForward p
                      (hintEnumFromByTo fn
                         (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn' fn)
                         fm
                         p)
 
gintEnumFromByTo ::
                 T.RefSrcPos ->
                   T.RefExp ->
                     T.R (T.Fun Int (T.Fun Int (T.Fun Int (T.List Int))))
 
hintEnumFromByTo ::
                 T.R Int ->
                   T.R Int -> T.R Int -> T.RefExp -> T.R (T.List Int)
gintEnumFromByTo pintEnumFromByTo p
  = T.ufun3 aintEnumFromByTo pintEnumFromByTo p
      hintEnumFromByTo
hintEnumFromByTo fn fd fm p
  = T.uccase T.mkNoSrcPos p
      (let v606v3v610v0v1 (T.R GT _) p
             = T.ucif p
                 (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fn fm)
                 (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
                 (T.uwrapForward p
                    (hgo
                       (T.uap2 T.mkNoSrcPos p
                          (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                          ((!<=) T.mkNoSrcPos p)
                          (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fm fd))
                       fn
                       p))
           v606v3v610v0v1 (T.R EQ _) p
             = T.uwrapForward p (hrepeat fn p)
           v606v3v610v0v1 (T.R LT _) p
             = T.ucif p
                 (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fn fm)
                 (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
                 (T.uwrapForward p
                    (hgo
                       (T.uap2 T.mkNoSrcPos p
                          (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                          ((!>=) T.mkNoSrcPos p)
                          (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fm fd))
                       fn
                       p))
           v606v3v610v0v1 _ p = T.fatal p
         in v606v3v610v0v1)
      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fd
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
  where  
        ggo ::
            T.RefSrcPos ->
              T.RefExp ->
                T.R (T.Fun (T.Fun Int Bool) (T.Fun Int (T.List Int)))
         
        hgo ::
            T.R (T.Fun Int Bool) ->
              T.R Int -> T.RefExp -> T.R (T.List Int)
        ggo pgo p = T.ufun2 c612v3v612v68go pgo p hgo
        ago = c612v3v612v68go
        hgo fcontinue fn p
          = T.con2 T.mkNoSrcPos p T.Cons T.aCons fn
              (T.ucif p (T.uap1 T.mkNoSrcPos p fcontinue fn)
                 (T.uwrapForward p
                    (hgo fcontinue
                       (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fn fd)
                       p))
                 (T.con0 T.mkNoSrcPos p T.Nil T.aNil))
 
instance Bounded Int where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c616v3v616v28minBound
              (\ p -> gprimIntMinBound T.mkNoSrcPos p)
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c617v3v617v28maxBound
              (\ p -> gprimIntMaxBound T.mkNoSrcPos p)
 
instance Eq Integer where
        (%==) !== p = T.ufun2 (++$%=%=+$%=$@==) (%==) p (*==)
          where (fa *== fb) p
                  = T.uwrapForward p (hprimIntegerEq fa fb p)
        (%/=) !/= p = T.ufun2 (++$&=%=+$&=$@/=) (%/=) p (*/=)
          where (fa */= fb) p
                  = T.uwrapForward p (hprimIntegerNe fa fb p)
 
instance Ord Integer where
        (%<) !< p = T.ufun2 (++$^=%=+$^=$@<) (%<) p (*<)
          where (fa *< fb) p
                  = T.uwrapForward p (hprimIntegerLt fa fb p)
        (%<=) !<= p = T.ufun2 (++$@=%=+$@=$@<=) (%<=) p (*<=)
          where (fa *<= fb) p
                  = T.uwrapForward p (hprimIntegerLe fa fb p)
        (%>=) !>= p = T.ufun2 (++$>=%=+$>=$@>=) (%>=) p (*>=)
          where (fa *>= fb) p
                  = T.uwrapForward p (hprimIntegerGe fa fb p)
        (%>) !> p = T.ufun2 (++%!=%=+%!=$@>) (%>) p (*>)
          where (fa *> fb) p
                  = T.uwrapForward p (hprimIntegerGt fa fb p)
 
instance Num Integer where
        (%+) !+ p = T.ufun2 (++%%=$=+%%=%!+) (%+) p (*+)
          where (fa *+ fb) p
                  = T.uwrapForward p (hprimIntegerAdd fa fb p)
        (%-) !- p = T.ufun2 (++%&=$=+%&=%!-) (%-) p (*-)
          where (fa *- fb) p
                  = T.uwrapForward p (hprimIntegerSub fa fb p)
        (%*) !* p = T.ufun2 (++%*=$=+%*=%!*) (%*) p (**)
          where (fa ** fb) p
                  = T.uwrapForward p (hprimIntegerMul fa fb p)
        gnegate pnegate p
          = T.ufun1 c636v2v636v28negate pnegate p hnegate
          where hnegate fa p
                  = T.uwrapForward p (hprimIntegerNeg fa p)
        gabs pabs p = T.ufun1 c637v2v637v41abs pabs p habs
          where habs fi p
                  = T.ucif p
                      (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fi
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (T.uap1 T.mkNoSrcPos p (gnegate T.mkNoSrcPos p) fi)
                      (T.projection T.mkNoSrcPos p fi)
        gsignum psignum p
          = T.ufun1 c638v2v642v0signum psignum p hsignum
          where hsignum fi p
                  = T.uccase T.mkNoSrcPos p
                      (let v638v13v642v0v1 (T.R LT _) p
                             = T.uap1 T.mkNoSrcPos p (gnegate T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                       p)
                                    (T.conInteger T.mkNoSrcPos p (1)))
                           v638v13v642v0v1 (T.R EQ _) p
                             = T.uap1 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                 (T.conInteger T.mkNoSrcPos p (0))
                           v638v13v642v0v1 (T.R GT _) p
                             = T.uap1 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                 (T.conInteger T.mkNoSrcPos p (1))
                           v638v13v642v0v1 _ p = T.fatal p
                         in v638v13v642v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fi
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
        gfromInteger pfromInteger p
          = T.ufun1 c642v2v642v18fromInteger pfromInteger p
              hfromInteger
          where hfromInteger fa p
                  = T.projection T.mkNoSrcPos p fa
 
instance Real Integer where
        gtoRational ptoRational p
          = T.ufun1 c645v5v645v24toRational ptoRational p
              htoRational
          where htoRational fi p
                  = T.uwrapForward p
                      ((*%) fi
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1)))
                         p)
 
instance Integral Integer where
        gquot pquot p
          = T.ufun2 c648v5v648v39quot pquot p hquot
          where hquot fn fd p
                  = T.uwrapForward p (hprimIntegerQuot fn fd p)
        grem prem p = T.ufun2 c649v5v649v38rem prem p hrem
          where hrem fn fd p
                  = T.uwrapForward p (hprimIntegerRem fn fd p)
        gdiv pdiv p = T.ufun2 c650v5v650v36div pdiv p hdiv
          where hdiv fn fd p
                  = T.uwrapForward p
                      (hfst
                         (T.uap2 T.mkNoSrcPos p (gdivMod T.mkNoSrcPos p) fn
                            fd)
                         p)
        gmod pmod p = T.ufun2 c651v5v651v36mod pmod p hmod
          where hmod fn fd p
                  = T.uwrapForward p
                      (hsnd
                         (T.uap2 T.mkNoSrcPos p (gdivMod T.mkNoSrcPos p) fn
                            fd)
                         p)
        gquotRem pquotRem p
          = T.ufun2 c653v5v653v42quotRem pquotRem p hquotRem
          where hquotRem fn fd p
                  = T.uwrapForward p (hprimIntegerQuotRem fn fd p)
        gtoInteger ptoInteger p
          = T.ufun1 c655v5v655v21toInteger ptoInteger p
              htoInteger
          where htoInteger fn p
                  = T.projection T.mkNoSrcPos p fn
 
instance Enum Integer where
        gsucc psucc p
          = T.ufun1 c658v3v658v18succ psucc p hsucc
          where hsucc fx p
                  = T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
        gpred ppred p
          = T.ufun1 c659v3v659v18pred ppred p hpred
          where hpred fx p
                  = T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
        gtoEnum ptoEnum p
          = T.ufun1 c660v3v660v26toEnum ptoEnum p htoEnum
          where htoEnum fx p
                  = T.uap1 T.mkNoSrcPos p (gtoInteger T.mkNoSrcPos p)
                      fx
        gfromEnum pfromEnum p
          = T.ufun1 c661v3v661v28fromEnum pfromEnum p hfromEnum
          where hfromEnum fx p
                  = T.uap1 T.mkNoSrcPos p (gfromInteger T.mkNoSrcPos p)
                      fx
        genumFrom penumFrom p
          = T.uconstUse penumFrom p senumFrom
        senumFrom
          = T.uconstDef p c663v3v663v25enumFrom
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (giterate T.mkNoSrcPos p)
                   (T.uap2 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                      ((!+) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))))
        genumFromThen penumFromThen p
          = T.ufun2 c664v3v664v41enumFromThen penumFromThen p
              henumFromThen
          where henumFromThen fn fn' p
                  = T.uwrapForward p
                      (hiterate
                         (T.uap2 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                            ((!+) T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn'
                               fn))
                         fn
                         p)
        genumFromTo penumFromTo p
          = T.ufun2 c665v3v665v52enumFromTo penumFromTo p
              henumFromTo
          where henumFromTo fn fm p
                  = T.uwrapForward p
                      (htakeWhile
                         (T.uap2 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                            ((!<=) T.mkNoSrcPos p)
                            fm)
                         (T.uwrapForward p
                            (hiterate
                               (T.uap2 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                                  ((!+) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (1))))
                               fn
                               p))
                         p)
        genumFromThenTo penumFromThenTo p
          = T.ufun3 c666v3v669v57enumFromThenTo penumFromThenTo
              p
              henumFromThenTo
          where henumFromThenTo fn fn' fm p
                  = let gd pd p = T.uconstUse pd p sd
                        sd
                          = T.uconstDef p c667v9v667v16d
                              (\ p ->
                                 T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn'
                                   fn)
                      in
                      T.ucif p
                        (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p)
                           (gd T.mkNoSrcPos p)
                           (T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (0))))
                        (T.uwrapForward p
                           (htakeWhile
                              (T.uap2 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                                 ((!<=) T.mkNoSrcPos p)
                                 fm)
                              (T.uwrapForward p
                                 (hiterate
                                    (T.uap2 T.mkNoSrcPos p
                                       (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                                       ((!+) T.mkNoSrcPos p)
                                       (gd T.mkNoSrcPos p))
                                    fn
                                    p))
                              p))
                        (T.uwrapForward p
                           (htakeWhile
                              (T.uap2 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                                 ((!>=) T.mkNoSrcPos p)
                                 fm)
                              (T.uwrapForward p
                                 (hiterate
                                    (T.uap2 T.mkNoSrcPos p
                                       (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                                       ((!+) T.mkNoSrcPos p)
                                       (gd T.mkNoSrcPos p))
                                    fn
                                    p))
                              p))
 
instance Eq Float where
        (%==) !== p = T.ufun2 (++^*=%=+^*=$+==) (%==) p (*==)
          where (fa *== fb) p
                  = T.uwrapForward p (hprimFloatEq fa fb p)
        (%/=) !/= p = T.ufun2 (++^+=%=+^+=$+/=) (%/=) p (*/=)
          where (fa */= fb) p
                  = T.uwrapForward p (hprimFloatNe fa fb p)
 
instance Ord Float where
        (%<) !< p = T.ufun2 (++^>=%=+^>=$+<) (%<) p (*<)
          where (fa *< fb) p
                  = T.uwrapForward p (hprimFloatLt fa fb p)
        (%<=) !<= p = T.ufun2 (++@!=%=+@!=$+<=) (%<=) p (*<=)
          where (fa *<= fb) p
                  = T.uwrapForward p (hprimFloatLe fa fb p)
        (%>=) !>= p = T.ufun2 (++@#=%=+@#=$+>=) (%>=) p (*>=)
          where (fa *>= fb) p
                  = T.uwrapForward p (hprimFloatGe fa fb p)
        (%>) !> p = T.ufun2 (++@$=%=+@$=$+>) (%>) p (*>)
          where (fa *> fb) p
                  = T.uwrapForward p (hprimFloatGt fa fb p)
 
instance Num Float where
        (%+) !+ p = T.ufun2 (++@*=$=+@*=$@+) (%+) p (*+)
          where (fa *+ fb) p
                  = T.uwrapForward p (hprimFloatAdd fa fb p)
        (%-) !- p = T.ufun2 (++@+=$=+@+=$@-) (%-) p (*-)
          where (fa *- fb) p
                  = T.uwrapForward p (hprimFloatSub fa fb p)
        (%*) !* p = T.ufun2 (++@^=$=+@^=$@*) (%*) p (**)
          where (fa ** fb) p
                  = T.uwrapForward p (hprimFloatMul fa fb p)
        gnegate pnegate p
          = T.ufun1 c688v2v688v17negate pnegate p hnegate
          where hnegate fa p
                  = T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0)))
                      fa
        gabs pabs p = T.ufun1 c689v2v689v26abs pabs p habs
          where habs fa p
                  = T.uwrapForward p (hprimFloatAbs fa p)
        gsignum psignum p
          = T.ufun1 c690v2v690v29signum psignum p hsignum
          where hsignum fa p
                  = T.uwrapForward p (hprimFloatSignum fa p)
        gfromInteger pfromInteger p
          = T.ufun1 c691v2v691v39fromInteger pfromInteger p
              hfromInteger
          where hfromInteger fi p
                  = T.uwrapForward p (hprimFloatFromInteger fi p)
 
instance Real Float where
        gtoRational ptoRational p
          = T.ufun1 c694v5v695v29toRational ptoRational p
              htoRational
          where htoRational fx p
                  = T.uccase T.mkNoSrcPos p
                      (let v694v20v695v0v1 (T.R (T.Tuple2 fm fn) _) p
                             = T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                 (T.uwrapForward p
                                    ((*%) fm
                                       (T.uap1 T.mkNoSrcPos p
                                          (Hat.PreludeBasic.gfromInteger
                                             T.mkNoSrcPos
                                             p)
                                          (T.conInteger T.mkNoSrcPos p (1)))
                                       p))
                                 (T.uwrapForward p
                                    ((*^^)
                                       (T.uwrapForward p
                                          ((*%) (gbf T.mkNoSrcPos p)
                                             (T.uap1 T.mkNoSrcPos p
                                                (Hat.PreludeBasic.gfromInteger
                                                   T.mkNoSrcPos
                                                   p)
                                                (T.conInteger T.mkNoSrcPos p
                                                   (1)))
                                             p))
                                       fn
                                       p))
                         in v694v20v695v0v1)
                      (T.uap1 T.mkNoSrcPos p (gdecodeFloat T.mkNoSrcPos p)
                         fx)
                  where gbf pbf p = T.uconstUse pbf p sbf
                        sbf
                          = T.uconstDef p c695v31v695v52bf
                              (\ p ->
                                 T.uap1 T.mkNoSrcPos p
                                   (gfloatRadix T.mkNoSrcPos p)
                                   fx)
 
instance Fractional Float where
        (%/) !/ p = T.ufun2 (++>@=%=+>@=$+/) (%/) p (*/)
          where (fx */ fy) p
                  = T.uwrapForward p (hprimFloatDiv fx fy p)
        gfromRational pfromRational p
          = T.ufun1 c699v3v700v11fromRational pfromRational p
              hfromRational
          where hfromRational fx p = gx0 T.mkNoSrcPos p
                  where gx0 px0 p = T.uconstUse px0 p sx0
                        sx0
                          = T.uconstDef p c700v13v700v25x0
                              (\ p ->
                                 T.uwrapForward p (hff (gef T.mkNoSrcPos p) p))
                        gff pff p = T.ufun1 c701v13v702v24ff pff p hff
                        aff = c701v13v702v24ff
                        hff fef p
                          = T.ucif p
                              (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                                 (gef' T.mkNoSrcPos p)
                                 fef)
                              (gyf T.mkNoSrcPos p)
                              (T.uwrapForward p (hff (gef' T.mkNoSrcPos p) p))
                          where  
                                gyf :: T.RefSrcPos -> T.RefExp -> T.R Float
                                 
                                syf :: T.R Float
                                gyf pyf p = T.uconstUse pyf p syf
                                syf
                                  = T.uconstDef p c703v26v703v78yf
                                      (\ p ->
                                         T.uap2 T.mkNoSrcPos p
                                           (gencodeFloat T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (ground T.mkNoSrcPos p)
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!*) T.mkNoSrcPos p)
                                                 fx
                                                 (T.uwrapForward p
                                                    ((*^^)
                                                       (T.uwrapForward p
                                                          ((*%)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (Hat.PreludeBasic.gfromInteger
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.conInteger
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (1)))
                                                             (gbf T.mkNoSrcPos
                                                                p)
                                                             p))
                                                       fef
                                                       p))))
                                           fef)
                                gef' pef' p = T.uconstUse pef' p sef'
                                sef'
                                  = T.uconstDef p c704v26v704v49ef'
                                      (\ _ ->
                                         case j704v26v704v49ef' of
                                             (kef', fef') -> fef')
                                j704v26v704v49ef'
                                  = case
                                      T.uap1 T.mkNoSrcPos p
                                        (gdecodeFloat T.mkNoSrcPos p)
                                        (gyf T.mkNoSrcPos p)
                                      of
                                        T.R (T.Tuple2 _ fef') kef' -> (kef',
                                                                       fef')
                                        _ -> T.fatal p
                                gbf pbf p = T.uconstUse pbf p sbf
                                sbf
                                  = T.uconstDef p c705v26v705v48bf
                                      (\ p ->
                                         T.uap1 T.mkNoSrcPos p
                                           (gfloatRadix T.mkNoSrcPos p)
                                           (gx0 T.mkNoSrcPos p))
                        gef pef p = T.uconstUse pef p sef
                        sef
                          = T.uconstDef p c706v13v707v78ef
                              (\ _ ->
                                 case j706v13v707v78ef of
                                     (kef, fef) -> fef)
                        j706v13v707v78ef
                          = case
                              T.uap1 T.mkNoSrcPos p
                                (gdecodeFloat T.mkNoSrcPos p)
                                (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                                   (T.uap2 T.mkNoSrcPos p
                                      (gasTypeOf T.mkNoSrcPos p)
                                      (T.uap1 T.mkNoSrcPos p
                                         (gfromInteger T.mkNoSrcPos p)
                                         (T.uwrapForward p (hnumerator fx p)))
                                      (gx0 T.mkNoSrcPos p))
                                   (T.uap1 T.mkNoSrcPos p
                                      (gfromInteger T.mkNoSrcPos p)
                                      (T.uwrapForward p (hdenominator fx p))))
                              of
                                T.R (T.Tuple2 _ fef) kef -> (kef, fef)
                                _ -> T.fatal p
 
instance Floating Float where
        gpi ppi p = T.uconstUse ppi p spi
        spi
          = T.uconstDef p c710v5v710v38pi
              (\ p -> gprimFloatPi T.mkNoSrcPos p)
        gexp pexp p = T.ufun1 c711v5v711v41exp pexp p hexp
          where hexp fx p
                  = T.uwrapForward p (hprimFloatExp fx p)
        glog plog p = T.ufun1 c712v5v712v41log plog p hlog
          where hlog fx p
                  = T.uwrapForward p (hprimFloatLog fx p)
        gsqrt psqrt p
          = T.ufun1 c713v5v713v42sqrt psqrt p hsqrt
          where hsqrt fx p
                  = T.uwrapForward p (hprimFloatSqrt fx p)
        gsin psin p = T.ufun1 c714v5v714v41sin psin p hsin
          where hsin fx p
                  = T.uwrapForward p (hprimFloatSin fx p)
        gcos pcos p = T.ufun1 c715v5v715v41cos pcos p hcos
          where hcos fx p
                  = T.uwrapForward p (hprimFloatCos fx p)
        gtan ptan p = T.ufun1 c716v5v716v41tan ptan p htan
          where htan fx p
                  = T.uwrapForward p (hprimFloatTan fx p)
        gasin pasin p
          = T.ufun1 c717v5v717v42asin pasin p hasin
          where hasin fx p
                  = T.uwrapForward p (hprimFloatAsin fx p)
        gacos pacos p
          = T.ufun1 c718v5v718v42acos pacos p hacos
          where hacos fx p
                  = T.uwrapForward p (hprimFloatAcos fx p)
        gatan patan p
          = T.ufun1 c719v5v719v42atan patan p hatan
          where hatan fx p
                  = T.uwrapForward p (hprimFloatAtan fx p)
        gsinh psinh p
          = T.ufun1 c720v5v720v51sinh psinh p hsinh
          where hsinh fx p
                  = T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromRational T.mkNoSrcPos p)
                         (T.R
                            ((Hat.PreludeBasic.:%)
                               (T.conInteger T.mkNoSrcPos p (1))
                               (T.conInteger T.mkNoSrcPos p (2)))
                            (T.mkAtomRational T.mkNoSrcPos p 0.5)))
                      (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p) fx)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                               fx)))
        gcosh pcosh p
          = T.ufun1 c721v5v721v51cosh pcosh p hcosh
          where hcosh fx p
                  = T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromRational T.mkNoSrcPos p)
                         (T.R
                            ((Hat.PreludeBasic.:%)
                               (T.conInteger T.mkNoSrcPos p (1))
                               (T.conInteger T.mkNoSrcPos p (2)))
                            (T.mkAtomRational T.mkNoSrcPos p 0.5)))
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p) fx)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                               fx)))
        gtanh ptanh p
          = T.ufun1 c722v5v722v47tanh ptanh p htanh
          where htanh fx p
                  = T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                         (gaf T.mkNoSrcPos p)
                         (gbf T.mkNoSrcPos p))
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (gaf T.mkNoSrcPos p)
                         (gbf T.mkNoSrcPos p))
                  where gaf paf p = T.uconstUse paf p saf
                        saf
                          = T.uconstDef p c722v49v722v58af
                              (\ p ->
                                 T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p) fx)
                        gbf pbf p = T.uconstUse pbf p sbf
                        sbf
                          = T.uconstDef p c722v62v722v74bf
                              (\ p ->
                                 T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p)
                                   (T.uap1 T.mkNoSrcPos p
                                      (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                      fx))
        gasinh pasinh p
          = T.ufun1 c723v5v723v36asinh pasinh p hasinh
          where hasinh fx p
                  = T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                         (T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1)))
                               (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
                                  fx))))
        gacosh pacosh p
          = T.ufun1 c724v5v724v50acosh pacosh p hacosh
          where hacosh fx p
                  = T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1))))
                            (T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
                               (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                                  (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                                     fx
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gfromInteger
                                           T.mkNoSrcPos
                                           p)
                                        (T.conInteger T.mkNoSrcPos p (1))))
                                  (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                     fx
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gfromInteger
                                           T.mkNoSrcPos
                                           p)
                                        (T.conInteger T.mkNoSrcPos p (1))))))))
        gatanh patanh p
          = T.ufun1 c725v5v725v42atanh patanh p hatanh
          where hatanh fx p
                  = T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (1))))
                         (T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1)))
                               (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
                                  fx))))
 
instance RealFrac Float where
        gproperFraction pproperFraction p
          = T.ufun1 c728v5v736v0properFraction pproperFraction
              p
              hproperFraction
          where hproperFraction fx p
                  = T.uccase T.mkNoSrcPos p
                      (let v729v9v736v0v1 (T.R (T.Tuple2 fm fn) _) p
                             = T.ucif p
                                 (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p)
                                    fn
                                    (T.uap1 T.mkNoSrcPos p
                                       (Hat.PreludeBasic.gfromInteger
                                          T.mkNoSrcPos
                                          p)
                                       (T.conInteger T.mkNoSrcPos p (0))))
                                 (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                    (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                       (T.uap1 T.mkNoSrcPos p
                                          (gfromInteger T.mkNoSrcPos p)
                                          fm)
                                       (T.uwrapForward p
                                          ((*^)
                                             (T.uap1 T.mkNoSrcPos p
                                                (gfromInteger T.mkNoSrcPos p)
                                                (T.uap1 T.mkNoSrcPos p
                                                   (gfloatRadix T.mkNoSrcPos p)
                                                   fx))
                                             fn
                                             p)))
                                    (T.uap1 T.mkNoSrcPos p
                                       (Hat.PreludeBasic.gfromInteger
                                          T.mkNoSrcPos
                                          p)
                                       (T.conInteger T.mkNoSrcPos p (0))))
                                 (T.uccase T.mkNoSrcPos p
                                    (let v733v25v736v0v1
                                           (T.R (T.Tuple2 fw fr) _) p
                                           = T.con2 T.mkNoSrcPos p T.Tuple2
                                               T.aTuple2
                                               (T.uap1 T.mkNoSrcPos p
                                                  (gfromInteger T.mkNoSrcPos p)
                                                  fw)
                                               (T.uap2 T.mkNoSrcPos p
                                                  (gencodeFloat T.mkNoSrcPos p)
                                                  fr
                                                  fn)
                                       in v733v25v736v0v1)
                                    (T.uap2 T.mkNoSrcPos p
                                       (gquotRem T.mkNoSrcPos p)
                                       fm
                                       (T.uwrapForward p
                                          ((*^)
                                             (T.uap1 T.mkNoSrcPos p
                                                (gfloatRadix T.mkNoSrcPos p)
                                                fx)
                                             (T.uap1 T.mkNoSrcPos p
                                                (gnegate T.mkNoSrcPos p)
                                                fn)
                                             p))))
                         in v729v9v736v0v1)
                      (T.uap1 T.mkNoSrcPos p (gdecodeFloat T.mkNoSrcPos p)
                         fx)
 
instance RealFloat Float where
        gfloatRadix pfloatRadix p
          = T.uconstUse pfloatRadix p sfloatRadix
        sfloatRadix
          = T.uconstDef p c737v5v737v34floatRadix
              (\ p -> gprimFloatRadix T.mkNoSrcPos p)
        gfloatDigits pfloatDigits p
          = T.uconstUse pfloatDigits p sfloatDigits
        sfloatDigits
          = T.uconstDef p c738v5v738v35floatDigits
              (\ p -> gprimFloatDigits T.mkNoSrcPos p)
        gfloatRange pfloatRange p
          = T.uconstUse pfloatRange p sfloatRange
        sfloatRange
          = T.uconstDef p c739v5v739v34floatRange
              (\ p -> gprimFloatRange T.mkNoSrcPos p)
        gdecodeFloat pdecodeFloat p
          = T.ufun1 c740v5v740v37decodeFloat pdecodeFloat p
              hdecodeFloat
          where hdecodeFloat fx p
                  = T.uwrapForward p (hprimDecodeFloat fx p)
        gencodeFloat pencodeFloat p
          = T.ufun2 c741v5v741v41encodeFloat pencodeFloat p
              hencodeFloat
          where hencodeFloat fx fy p
                  = T.uwrapForward p (hprimEncodeFloat fx fy p)
        gisNaN pisNaN p = T.uconstUse pisNaN p sisNaN
        sisNaN
          = T.uconstDef p c743v5v743v35isNaN
              (\ p -> gprimFloatIsNaN T.mkNoSrcPos p)
        gisInfinite pisInfinite p
          = T.uconstUse pisInfinite p sisInfinite
        sisInfinite
          = T.uconstDef p c744v5v744v40isInfinite
              (\ p -> gprimFloatIsInfinite T.mkNoSrcPos p)
        gisDenormalized pisDenormalized p
          = T.uconstUse pisDenormalized p sisDenormalized
        sisDenormalized
          = T.uconstDef p c745v5v745v44isDenormalized
              (\ p -> gprimFloatIsDenormalized T.mkNoSrcPos p)
        gisNegativeZero pisNegativeZero p
          = T.uconstUse pisNegativeZero p sisNegativeZero
        sisNegativeZero
          = T.uconstDef p c746v5v746v44isNegativeZero
              (\ p -> gprimFloatIsNegativeZero T.mkNoSrcPos p)
        gisIEEE pisIEEE p = T.uconstUse pisIEEE p sisIEEE
        sisIEEE
          = T.uconstDef p c747v5v747v36isIEEE
              (\ p -> gprimFloatIsIEEE T.mkNoSrcPos p)
 
instance Eq Double where
        (%==) !== p = T.ufun2 (+^*%=%=^*%=$^==) (%==) p (*==)
          where (fa *== fb) p
                  = T.uwrapForward p (hprimDoubleEq fa fb p)
        (%/=) !/= p = T.ufun2 (+^*&=%=^*&=$^/=) (%/=) p (*/=)
          where (fa */= fb) p
                  = T.uwrapForward p (hprimDoubleNe fa fb p)
 
instance Ord Double where
        (%<) !< p = T.ufun2 (+^*^=%=^*^=$^<) (%<) p (*<)
          where (fa *< fb) p
                  = T.uwrapForward p (hprimDoubleLt fa fb p)
        (%<=) !<= p = T.ufun2 (+^*@=%=^*@=$^<=) (%<=) p (*<=)
          where (fa *<= fb) p
                  = T.uwrapForward p (hprimDoubleLe fa fb p)
        (%>=) !>= p = T.ufun2 (+^*>=%=^*>=$^>=) (%>=) p (*>=)
          where (fa *>= fb) p
                  = T.uwrapForward p (hprimDoubleGe fa fb p)
        (%>) !> p = T.ufun2 (+^+!=%=^+!=$^>) (%>) p (*>)
          where (fa *> fb) p
                  = T.uwrapForward p (hprimDoubleGt fa fb p)
 
instance Num Double where
        (%+) !+ p = T.ufun2 (+^+%=$=^+%=$>+) (%+) p (*+)
          where (fa *+ fb) p
                  = T.uwrapForward p (hprimDoubleAdd fa fb p)
        (%-) !- p = T.ufun2 (+^+&=$=^+&=$>-) (%-) p (*-)
          where (fa *- fb) p
                  = T.uwrapForward p (hprimDoubleSub fa fb p)
        (%*) !* p = T.ufun2 (+^+*=$=^+*=$>*) (%*) p (**)
          where (fa ** fb) p
                  = T.uwrapForward p (hprimDoubleMul fa fb p)
        gnegate pnegate p
          = T.ufun1 c766v2v766v19negate pnegate p hnegate
          where hnegate fa p
                  = T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0)))
                      fa
        gabs pabs p = T.ufun1 c767v2v767v27abs pabs p habs
          where habs fa p
                  = T.uwrapForward p (hprimDoubleAbs fa p)
        gsignum psignum p
          = T.ufun1 c768v2v768v30signum psignum p hsignum
          where hsignum fa p
                  = T.uwrapForward p (hprimDoubleSignum fa p)
        gfromInteger pfromInteger p
          = T.ufun1 c769v2v769v40fromInteger pfromInteger p
              hfromInteger
          where hfromInteger fi p
                  = T.uwrapForward p (hprimDoubleFromInteger fi p)
 
instance Real Double where
        gtoRational ptoRational p
          = T.ufun1 c772v5v773v29toRational ptoRational p
              htoRational
          where htoRational fx p
                  = T.uccase T.mkNoSrcPos p
                      (let v772v20v773v0v1 (T.R (T.Tuple2 fm fn) _) p
                             = T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                 (T.uwrapForward p
                                    ((*%) fm
                                       (T.uap1 T.mkNoSrcPos p
                                          (Hat.PreludeBasic.gfromInteger
                                             T.mkNoSrcPos
                                             p)
                                          (T.conInteger T.mkNoSrcPos p (1)))
                                       p))
                                 (T.uwrapForward p
                                    ((*^^)
                                       (T.uwrapForward p
                                          ((*%) (gb T.mkNoSrcPos p)
                                             (T.uap1 T.mkNoSrcPos p
                                                (Hat.PreludeBasic.gfromInteger
                                                   T.mkNoSrcPos
                                                   p)
                                                (T.conInteger T.mkNoSrcPos p
                                                   (1)))
                                             p))
                                       fn
                                       p))
                         in v772v20v773v0v1)
                      (T.uap1 T.mkNoSrcPos p (gdecodeFloat T.mkNoSrcPos p)
                         fx)
                  where gb pb p = T.uconstUse pb p sb
                        sb
                          = T.uconstDef p c773v31v773v51b
                              (\ p ->
                                 T.uap1 T.mkNoSrcPos p
                                   (gfloatRadix T.mkNoSrcPos p)
                                   fx)
 
instance Fractional Double where
        (%/) !/ p = T.ufun2 (+^^+=%=^^+=$^/) (%/) p (*/)
          where (fx */ fy) p
                  = T.uwrapForward p (hprimDoubleDiv fx fy p)
        gfromRational pfromRational p
          = T.ufun1 c777v3v786v11fromRational pfromRational p
              hfromRational
          where hfromRational fx p
                  = let gf pf p = T.ufun1 c778v11v782v48f pf p hf
                        af = c778v11v782v48f
                        hf fex p
                          = let  
                                gy :: T.RefSrcPos -> T.RefExp -> T.R Double
                                 
                                sy :: T.R Double
                                gy py p = T.uconstUse py p sy
                                sy
                                  = T.uconstDef p c779v22v779v69y
                                      (\ p ->
                                         T.uap2 T.mkNoSrcPos p
                                           (gencodeFloat T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (ground T.mkNoSrcPos p)
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!*) T.mkNoSrcPos p)
                                                 fx
                                                 (T.uwrapForward p
                                                    ((*^^)
                                                       (T.uwrapForward p
                                                          ((*%)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (Hat.PreludeBasic.gfromInteger
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.conInteger
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (1)))
                                                             (gbd T.mkNoSrcPos
                                                                p)
                                                             p))
                                                       fex
                                                       p))))
                                           fex)
                                ge' pe' p = T.uconstUse pe' p se'
                                se'
                                  = T.uconstDef p c780v22v780v45e'
                                      (\ p ->
                                         T.uwrapForward p
                                           (hsnd
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gdecodeFloat T.mkNoSrcPos p)
                                                 (gy T.mkNoSrcPos p))
                                              p))
                                gbd pbd p = T.uconstUse pbd p sbd
                                sbd
                                  = T.uconstDef p c781v22v781v39bd
                                      (\ p ->
                                         T.uap1 T.mkNoSrcPos p
                                           (gfloatRadix T.mkNoSrcPos p)
                                           (gx' T.mkNoSrcPos p))
                              in
                              T.ucif p
                                (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                                   (ge' T.mkNoSrcPos p)
                                   fex)
                                (gy T.mkNoSrcPos p)
                                (T.uwrapForward p (hf (ge' T.mkNoSrcPos p) p))
                        ge pe p = T.uconstUse pe p se
                        se
                          = T.uconstDef p c783v11v784v79e
                              (\ p ->
                                 T.uwrapForward p
                                   (hsnd
                                      (T.uap1 T.mkNoSrcPos p
                                         (gdecodeFloat T.mkNoSrcPos p)
                                         (T.uap2 T.mkNoSrcPos p
                                            ((!/) T.mkNoSrcPos p)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gasTypeOf T.mkNoSrcPos p)
                                               (T.uap1 T.mkNoSrcPos p
                                                  (gfromInteger T.mkNoSrcPos p)
                                                  (T.uwrapForward p
                                                     (hnumerator fx p)))
                                               (gx' T.mkNoSrcPos p))
                                            (T.uap1 T.mkNoSrcPos p
                                               (gfromInteger T.mkNoSrcPos p)
                                               (T.uwrapForward p
                                                  (hdenominator fx p)))))
                                      p))
                        gx' px' p = T.uconstUse px' p sx'
                        sx'
                          = T.uconstDef p c785v11v785v20x'
                              (\ p ->
                                 T.uwrapForward p (hf (ge T.mkNoSrcPos p) p))
                      in gx' T.mkNoSrcPos p
 
instance Floating Double where
        gpi ppi p = T.uconstUse ppi p spi
        spi
          = T.uconstDef p c790v5v790v39pi
              (\ p -> gprimDoublePi T.mkNoSrcPos p)
        gexp pexp p = T.ufun1 c791v5v791v42exp pexp p hexp
          where hexp fx p
                  = T.uwrapForward p (hprimDoubleExp fx p)
        glog plog p = T.ufun1 c792v5v792v42log plog p hlog
          where hlog fx p
                  = T.uwrapForward p (hprimDoubleLog fx p)
        gsqrt psqrt p
          = T.ufun1 c793v5v793v43sqrt psqrt p hsqrt
          where hsqrt fx p
                  = T.uwrapForward p (hprimDoubleSqrt fx p)
        gsin psin p = T.ufun1 c794v5v794v42sin psin p hsin
          where hsin fx p
                  = T.uwrapForward p (hprimDoubleSin fx p)
        gcos pcos p = T.ufun1 c795v5v795v42cos pcos p hcos
          where hcos fx p
                  = T.uwrapForward p (hprimDoubleCos fx p)
        gtan ptan p = T.ufun1 c796v5v796v42tan ptan p htan
          where htan fx p
                  = T.uwrapForward p (hprimDoubleTan fx p)
        gasin pasin p
          = T.ufun1 c797v5v797v43asin pasin p hasin
          where hasin fx p
                  = T.uwrapForward p (hprimDoubleAsin fx p)
        gacos pacos p
          = T.ufun1 c798v5v798v43acos pacos p hacos
          where hacos fx p
                  = T.uwrapForward p (hprimDoubleAcos fx p)
        gatan patan p
          = T.ufun1 c799v5v799v43atan patan p hatan
          where hatan fx p
                  = T.uwrapForward p (hprimDoubleAtan fx p)
        gsinh psinh p
          = T.ufun1 c800v5v800v65sinh psinh p hsinh
          where hsinh fx p
                  = T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gfromRational T.mkNoSrcPos p)
                         (T.uwrapForward p
                            ((*%)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1)))
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (2)))
                               p)))
                      (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p) fx)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                               fx)))
        gcosh pcosh p
          = T.ufun1 c801v5v801v65cosh pcosh p hcosh
          where hcosh fx p
                  = T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gfromRational T.mkNoSrcPos p)
                         (T.uwrapForward p
                            ((*%)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1)))
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (2)))
                               p)))
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p) fx)
                         (T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                               fx)))
        gtanh ptanh p
          = T.ufun1 c802v5v802v43tanh ptanh p htanh
          where htanh fx p
                  = T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                         (ga T.mkNoSrcPos p)
                         (gb T.mkNoSrcPos p))
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (ga T.mkNoSrcPos p)
                         (gb T.mkNoSrcPos p))
                  where ga pa p = T.uconstUse pa p sa
                        sa
                          = T.uconstDef p c802v45v802v53a
                              (\ p ->
                                 T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p) fx)
                        gb pb p = T.uconstUse pb p sb
                        sb
                          = T.uconstDef p c802v57v802v68b
                              (\ p ->
                                 T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p)
                                   (T.uap1 T.mkNoSrcPos p
                                      (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                      fx))
        gasinh pasinh p
          = T.ufun1 c803v5v803v36asinh pasinh p hasinh
          where hasinh fx p
                  = T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                         (T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1)))
                               (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
                                  fx))))
        gacosh pacosh p
          = T.ufun1 c804v5v804v50acosh pacosh p hacosh
          where hacosh fx p
                  = T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1))))
                            (T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
                               (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                                  (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                                     fx
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gfromInteger
                                           T.mkNoSrcPos
                                           p)
                                        (T.conInteger T.mkNoSrcPos p (1))))
                                  (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                     fx
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gfromInteger
                                           T.mkNoSrcPos
                                           p)
                                        (T.conInteger T.mkNoSrcPos p (1))))))))
        gatanh patanh p
          = T.ufun1 c805v5v805v42atanh patanh p hatanh
          where hatanh fx p
                  = T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (1))))
                         (T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (1)))
                               (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
                                  fx))))
 
instance RealFrac Double where
        gproperFraction pproperFraction p
          = T.ufun1 c808v5v817v0properFraction pproperFraction
              p
              hproperFraction
          where hproperFraction fx p
                  = T.uccase T.mkNoSrcPos p
                      (let v809v9v817v0v1 (T.R (T.Tuple2 fm fn) _) p
                             = T.ucif p
                                 (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p)
                                    fn
                                    (T.uap1 T.mkNoSrcPos p
                                       (Hat.PreludeBasic.gfromInteger
                                          T.mkNoSrcPos
                                          p)
                                       (T.conInteger T.mkNoSrcPos p (0))))
                                 (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                    (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                       (T.uap1 T.mkNoSrcPos p
                                          (gfromInteger T.mkNoSrcPos p)
                                          fm)
                                       (T.uwrapForward p
                                          ((*^)
                                             (T.uap1 T.mkNoSrcPos p
                                                (gfromInteger T.mkNoSrcPos p)
                                                (T.uap1 T.mkNoSrcPos p
                                                   (gfloatRadix T.mkNoSrcPos p)
                                                   fx))
                                             fn
                                             p)))
                                    (T.uap1 T.mkNoSrcPos p
                                       (Hat.PreludeBasic.gfromInteger
                                          T.mkNoSrcPos
                                          p)
                                       (T.conInteger T.mkNoSrcPos p (0))))
                                 (T.uccase T.mkNoSrcPos p
                                    (let v813v25v817v0v1
                                           (T.R (T.Tuple2 fw fr) _) p
                                           = T.con2 T.mkNoSrcPos p T.Tuple2
                                               T.aTuple2
                                               (T.uap1 T.mkNoSrcPos p
                                                  (gfromInteger T.mkNoSrcPos p)
                                                  fw)
                                               (T.uap2 T.mkNoSrcPos p
                                                  (gencodeFloat T.mkNoSrcPos p)
                                                  fr
                                                  fn)
                                       in v813v25v817v0v1)
                                    (T.uap2 T.mkNoSrcPos p
                                       (gquotRem T.mkNoSrcPos p)
                                       fm
                                       (T.uwrapForward p
                                          ((*^)
                                             (T.uap1 T.mkNoSrcPos p
                                                (gfloatRadix T.mkNoSrcPos p)
                                                fx)
                                             (T.uap1 T.mkNoSrcPos p
                                                (gnegate T.mkNoSrcPos p)
                                                fn)
                                             p))))
                         in v809v9v817v0v1)
                      (T.uap1 T.mkNoSrcPos p (gdecodeFloat T.mkNoSrcPos p)
                         fx)
 
instance RealFloat Double where
        gfloatRadix pfloatRadix p
          = T.uconstUse pfloatRadix p sfloatRadix
        sfloatRadix
          = T.uconstDef p c818v5v818v35floatRadix
              (\ p -> gprimDoubleRadix T.mkNoSrcPos p)
        gfloatDigits pfloatDigits p
          = T.uconstUse pfloatDigits p sfloatDigits
        sfloatDigits
          = T.uconstDef p c819v5v819v36floatDigits
              (\ p -> gprimDoubleDigits T.mkNoSrcPos p)
        gfloatRange pfloatRange p
          = T.uconstUse pfloatRange p sfloatRange
        sfloatRange
          = T.uconstDef p c820v5v820v35floatRange
              (\ p -> gprimDoubleRange T.mkNoSrcPos p)
        gdecodeFloat pdecodeFloat p
          = T.ufun1 c821v5v821v38decodeFloat pdecodeFloat p
              hdecodeFloat
          where hdecodeFloat fx p
                  = T.uwrapForward p (hprimDecodeDouble fx p)
        gencodeFloat pencodeFloat p
          = T.ufun2 c822v5v822v42encodeFloat pencodeFloat p
              hencodeFloat
          where hencodeFloat fx fy p
                  = T.uwrapForward p (hprimEncodeDouble fx fy p)
        gisNaN pisNaN p = T.uconstUse pisNaN p sisNaN
        sisNaN
          = T.uconstDef p c824v5v824v36isNaN
              (\ p -> gprimDoubleIsNaN T.mkNoSrcPos p)
        gisInfinite pisInfinite p
          = T.uconstUse pisInfinite p sisInfinite
        sisInfinite
          = T.uconstDef p c825v5v825v41isInfinite
              (\ p -> gprimDoubleIsInfinite T.mkNoSrcPos p)
        gisDenormalized pisDenormalized p
          = T.uconstUse pisDenormalized p sisDenormalized
        sisDenormalized
          = T.uconstDef p c826v5v826v45isDenormalized
              (\ p -> gprimDoubleIsDenormalized T.mkNoSrcPos p)
        gisNegativeZero pisNegativeZero p
          = T.uconstUse pisNegativeZero p sisNegativeZero
        sisNegativeZero
          = T.uconstDef p c827v5v827v45isNegativeZero
              (\ p -> gprimDoubleIsNegativeZero T.mkNoSrcPos p)
        gisIEEE pisIEEE p = T.uconstUse pisIEEE p sisIEEE
        sisIEEE
          = T.uconstDef p c828v5v828v37isIEEE
              (\ p -> gprimDoubleIsIEEE T.mkNoSrcPos p)
 
instance Enum Float where
        gsucc psucc p
          = T.ufun1 c839v5v839v27succ psucc p hsucc
          where hsucc fx p
                  = T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
        gpred ppred p
          = T.ufun1 c840v5v840v27pred ppred p hpred
          where hpred fx p
                  = T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
        gtoEnum ptoEnum p = T.uconstUse ptoEnum p stoEnum
        stoEnum
          = T.uconstDef p c841v5v841v36toEnum
              (\ p -> gfromIntegral T.mkNoSrcPos p)
        gfromEnum pfromEnum p
          = T.uconstUse pfromEnum p sfromEnum
        sfromEnum
          = T.uconstDef p c842v5v842v46fromEnum
              (\ p ->
                 T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                   (gfromInteger T.mkNoSrcPos p)
                   (gtruncate T.mkNoSrcPos p))
        genumFrom penumFrom p
          = T.uconstUse penumFrom p senumFrom
        senumFrom
          = T.uconstDef p c843v5v843v39enumFrom
              (\ p -> gnumericEnumFrom T.mkNoSrcPos p)
        genumFromThen penumFromThen p
          = T.uconstUse penumFromThen p senumFromThen
        senumFromThen
          = T.uconstDef p c844v5v844v43enumFromThen
              (\ p -> gnumericEnumFromThen T.mkNoSrcPos p)
        genumFromTo penumFromTo p
          = T.uconstUse penumFromTo p senumFromTo
        senumFromTo
          = T.uconstDef p c845v5v845v41enumFromTo
              (\ p -> gnumericEnumFromTo T.mkNoSrcPos p)
        genumFromThenTo penumFromThenTo p
          = T.uconstUse penumFromThenTo p senumFromThenTo
        senumFromThenTo
          = T.uconstDef p c846v5v846v45enumFromThenTo
              (\ p -> gnumericEnumFromThenTo T.mkNoSrcPos p)
 
instance Enum Double where
        gsucc psucc p
          = T.ufun1 c850v5v850v27succ psucc p hsucc
          where hsucc fx p
                  = T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
        gpred ppred p
          = T.ufun1 c851v5v851v27pred ppred p hpred
          where hpred fx p
                  = T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fx
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
        gtoEnum ptoEnum p = T.uconstUse ptoEnum p stoEnum
        stoEnum
          = T.uconstDef p c852v5v852v36toEnum
              (\ p -> gfromIntegral T.mkNoSrcPos p)
        gfromEnum pfromEnum p
          = T.uconstUse pfromEnum p sfromEnum
        sfromEnum
          = T.uconstDef p c853v5v853v46fromEnum
              (\ p ->
                 T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                   (gfromInteger T.mkNoSrcPos p)
                   (gtruncate T.mkNoSrcPos p))
        genumFrom penumFrom p
          = T.uconstUse penumFrom p senumFrom
        senumFrom
          = T.uconstDef p c854v5v854v39enumFrom
              (\ p -> gnumericEnumFrom T.mkNoSrcPos p)
        genumFromThen penumFromThen p
          = T.uconstUse penumFromThen p senumFromThen
        senumFromThen
          = T.uconstDef p c855v5v855v43enumFromThen
              (\ p -> gnumericEnumFromThen T.mkNoSrcPos p)
        genumFromTo penumFromTo p
          = T.uconstUse penumFromTo p senumFromTo
        senumFromTo
          = T.uconstDef p c856v5v856v41enumFromTo
              (\ p -> gnumericEnumFromTo T.mkNoSrcPos p)
        genumFromThenTo penumFromThenTo p
          = T.uconstUse penumFromThenTo p senumFromThenTo
        senumFromThenTo
          = T.uconstDef p c857v5v857v45enumFromThenTo
              (\ p -> gnumericEnumFromThenTo T.mkNoSrcPos p)
 
gnumericEnumFrom ::
                   (Fractional a) =>
                   T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.List a))
 
snumericEnumFrom ::
                   (Fractional a) => T.R (T.Fun a (T.List a))
 
gnumericEnumFromThen ::
                       (Fractional a) =>
                       T.RefSrcPos ->
                         T.RefExp -> T.R (T.Fun a (T.Fun a (T.List a)))
 
hnumericEnumFromThen ::
                       (Fractional a) =>
                       T.R a -> T.R a -> T.RefExp -> T.R (T.List a)
 
gnumericEnumFromTo ::
                     (Fractional a, Ord a) =>
                     T.RefSrcPos ->
                       T.RefExp -> T.R (T.Fun a (T.Fun a (T.List a)))
 
hnumericEnumFromTo ::
                     (Fractional a, Ord a) =>
                     T.R a -> T.R a -> T.RefExp -> T.R (T.List a)
 
gnumericEnumFromThenTo ::
                         (Fractional a, Ord a) =>
                         T.RefSrcPos ->
                           T.RefExp ->
                             T.R (T.Fun a (T.Fun a (T.Fun a (T.List a))))
 
hnumericEnumFromThenTo ::
                         (Fractional a, Ord a) =>
                         T.R a -> T.R a -> T.R a -> T.RefExp -> T.R (T.List a)
gnumericEnumFrom pnumericEnumFrom p
  = T.uconstUse pnumericEnumFrom p snumericEnumFrom
snumericEnumFrom
  = T.uconstDef p anumericEnumFrom
      (\ p ->
         T.uap1 T.mkNoSrcPos p (giterate T.mkNoSrcPos p)
           (T.uap2 T.mkNoSrcPos p
              (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
              ((!+) T.mkNoSrcPos p)
              (T.uap1 T.mkNoSrcPos p
                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                 (T.conInteger T.mkNoSrcPos p (1)))))
gnumericEnumFromThen pnumericEnumFromThen p
  = T.ufun2 anumericEnumFromThen pnumericEnumFromThen p
      hnumericEnumFromThen
hnumericEnumFromThen fn fm p
  = T.uwrapForward p
      (hiterate
         (T.uap2 T.mkNoSrcPos p
            (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
            ((!+) T.mkNoSrcPos p)
            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fm fn))
         fn
         p)
gnumericEnumFromTo pnumericEnumFromTo p
  = T.ufun2 anumericEnumFromTo pnumericEnumFromTo p
      hnumericEnumFromTo
hnumericEnumFromTo fn fm p
  = T.uwrapForward p
      (htakeWhile
         (T.uap2 T.mkNoSrcPos p
            (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
            ((!<=) T.mkNoSrcPos p)
            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fm
               (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                  (T.uap1 T.mkNoSrcPos p
                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                     (T.conInteger T.mkNoSrcPos p (1)))
                  (T.uap1 T.mkNoSrcPos p
                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                     (T.conInteger T.mkNoSrcPos p (2))))))
         (T.uap1 T.mkNoSrcPos p
            (gnumericEnumFrom T.mkNoSrcPos p)
            fn)
         p)
gnumericEnumFromThenTo pnumericEnumFromThenTo p
  = T.ufun3 anumericEnumFromThenTo
      pnumericEnumFromThenTo
      p
      hnumericEnumFromThenTo
hnumericEnumFromThenTo fn fn' fm p
  = T.uwrapForward p
      (htakeWhile (gp T.mkNoSrcPos p)
         (T.uwrapForward p (hnumericEnumFromThen fn fn' p))
         p)
  where gp pp p = T.uconstUse pp p sp
        sp
          = T.uconstDef p c872v32v873v64p
              (\ p ->
                 T.ucguard
                   (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fn' fn)
                   (T.uap2 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                      ((!<=) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fm
                         (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn' fn)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (2))))))
                   (T.ucguard (gotherwise T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                         ((!>=) T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fm
                            (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                               (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn'
                                  fn)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                  (T.conInteger T.mkNoSrcPos p (2))))))
                      (T.fatal p)))
 
instance (Eq a) => Eq (T.List a) where
        (%==) !== p = T.ufun2 (+@@%=%=@@*=$+==) (%==) p (*==)
          where (T.R T.Nil _ *== T.R T.Nil _) p
                  = T.con0 T.mkNoSrcPos p True aTrue
                ((T.R (T.Cons fa fas) _) *== (T.R (T.Cons fb fbs) _))
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fb)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fas
                            fbs)
                         p)
                (_ *== _) p = T.con0 T.mkNoSrcPos p False aFalse
 
instance (Ord a) => Ord (T.List a) where
        gcompare pcompare p
          = T.ufun2 c888v3v898v0compare pcompare p hcompare
          where hcompare (T.R T.Nil _) (T.R T.Nil _) p
                  = T.con0 T.mkNoSrcPos p EQ aEQ
                hcompare (T.R T.Nil _) (T.R (T.Cons fb fbs) _) p
                  = T.con0 T.mkNoSrcPos p LT aLT
                hcompare (T.R (T.Cons fa fas) _) (T.R T.Nil _) p
                  = T.con0 T.mkNoSrcPos p GT aGT
                hcompare (T.R (T.Cons fa fas) _)
                  (T.R (T.Cons fb fbs) _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v892v5v898v0v1 (T.R LT _) p
                             = T.con0 T.mkNoSrcPos p LT aLT
                           v892v5v898v0v1 (T.R EQ _) p
                             = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p)
                                 fas
                                 fbs
                           v892v5v898v0v1 (T.R GT _) p
                             = T.con0 T.mkNoSrcPos p GT aGT
                           v892v5v898v0v1 _ p = T.fatal p
                         in v892v5v898v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fb)
                hcompare _ _ p = T.fatal p
 
instance Functor T.List where
        gfmap pfmap p = T.uconstUse pfmap p sfmap
        sfmap
          = T.uconstDef p c899v5v899v14fmap
              (\ p -> gmap T.mkNoSrcPos p)
 
instance Monad T.List where
        (%>>=) !>>= p
          = T.ufun2 (+>!%=*=>!%=%>>>=) (%>>=) p (*>>=)
          where (fm *>>= fk) p
                  = T.uwrapForward p
                      (hconcat (T.uwrapForward p (hmap fk fm p)) p)
        greturn preturn p
          = T.ufun1 c904v5v904v26return preturn p hreturn
          where hreturn fx p
                  = T.fromExpList T.mkNoSrcPos p [fx]
        gfail pfail p
          = T.ufun1 c905v5v905v25fail pfail p hfail
          where hfail fs p = T.con0 T.mkNoSrcPos p T.Nil T.aNil
 
instance (Eq a, Eq b) => Eq (T.Tuple2 a b) where
        (%==) !== p = T.ufun2 (+>#+=%=>#+=%>==) (%==) p (*==)
          where (T.R (T.Tuple2 fa fb) _ *==
                   T.R (T.Tuple2 fa' fb') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb fb')
                         p)
 
instance (Ord a, Ord b) => Ord (T.Tuple2 a b) where
        gcompare pcompare p
          = T.ufun2 c919v3v925v0compare pcompare p hcompare
          where hcompare (T.R (T.Tuple2 fa fb) _)
                  (T.R (T.Tuple2 fa' fb') _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v920v5v925v0v1 (T.R LT _) p
                             = T.con0 T.mkNoSrcPos p LT aLT
                           v920v5v925v0v1 (T.R EQ _) p
                             = T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p)
                                 fb
                                 fb'
                           v920v5v925v0v1 (T.R GT _) p
                             = T.con0 T.mkNoSrcPos p GT aGT
                           v920v5v925v0v1 _ p = T.fatal p
                         in v920v5v925v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b) => Bounded
         (T.Tuple2 a b) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c926v3v926v33minBound
              (\ p ->
                 T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c927v3v927v33maxBound
              (\ p ->
                 T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c) => Eq (T.Tuple3 a b c)
         where
        (%==) !== p = T.ufun2 (+>%#=%=>%#=**==) (%==) p (*==)
          where (T.R (T.Tuple3 fa fb fc) _ *==
                   T.R (T.Tuple3 fa' fb' fc') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fc
                                  fc')
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c) => Ord
         (T.Tuple3 a b c) where
        gcompare pcompare p
          = T.ufun2 c934v3v941v0compare pcompare p hcompare
          where hcompare (T.R (T.Tuple3 fa fb fc) _)
                  (T.R (T.Tuple3 fa' fb' fc') _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v935v5v941v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v936v15v939v0v1 (T.R EQ _) p
                                        = T.uap2 T.mkNoSrcPos p
                                            (gcompare T.mkNoSrcPos p)
                                            fc
                                            fc'
                                      v936v15v939v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v936v15v939v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v935v5v941v0v1 fx p = T.projection T.mkNoSrcPos p fx
                         in v935v5v941v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c) => Bounded
         (T.Tuple3 a b c) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c942v3v942v41minBound
              (\ p ->
                 T.con3 T.mkNoSrcPos p T.Tuple3 T.aTuple3
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c943v3v943v41maxBound
              (\ p ->
                 T.con3 T.mkNoSrcPos p T.Tuple3 T.aTuple3
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d) => Eq
         (T.Tuple4 a b c d) where
        (%==) !== p = T.ufun2 (+>&^=%=>&^=^#==) (%==) p (*==)
          where (T.R (T.Tuple4 fa fb fc fd) _ *==
                   T.R (T.Tuple4 fa' fb' fc' fd') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fd
                                        fd')
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d) => Ord
         (T.Tuple4 a b c d) where
        gcompare pcompare p
          = T.ufun2 c950v3v959v0compare pcompare p hcompare
          where hcompare (T.R (T.Tuple4 fa fb fc fd) _)
                  (T.R (T.Tuple4 fa' fb' fc' fd') _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v951v5v959v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v952v15v957v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v953v23v956v0v1 (T.R EQ _) p
                                                   = T.uap2 T.mkNoSrcPos p
                                                       (gcompare T.mkNoSrcPos p)
                                                       fd
                                                       fd'
                                                 v953v23v956v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v953v23v956v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v952v15v957v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v952v15v957v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v951v5v959v0v1 fx p = T.projection T.mkNoSrcPos p fx
                         in v951v5v959v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c,
          Bounded d) =>
         Bounded (T.Tuple4 a b c d) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c960v3v960v50minBound
              (\ p ->
                 T.con4 T.mkNoSrcPos p T.Tuple4 T.aTuple4
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c961v3v961v50maxBound
              (\ p ->
                 T.con4 T.mkNoSrcPos p T.Tuple4 T.aTuple4
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq
         (T.Tuple5 a b c d e) where
        (%==) !== p = T.ufun2 (+>+*=%=>++=**==) (%==) p (*==)
          where (T.R (T.Tuple5 fa fb fc fd fe) _ *==
                   T.R (T.Tuple5 fa' fb' fc' fd' fe') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fe
                                              fe')
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord
         (T.Tuple5 a b c d e) where
        gcompare pcompare p
          = T.ufun2 c969v3v980v0compare pcompare p hcompare
          where hcompare (T.R (T.Tuple5 fa fb fc fd fe) _)
                  (T.R (T.Tuple5 fa' fb' fc' fd' fe') _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v970v5v980v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v971v15v978v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v972v23v977v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v973v31v976v0v1
                                                              (T.R EQ _) p
                                                              = T.uap2
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (gcompare
                                                                     T.mkNoSrcPos
                                                                     p)
                                                                  fe
                                                                  fe'
                                                            v973v31v976v0v1 fx p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v973v31v976v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v972v23v977v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v972v23v977v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v971v15v978v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v971v15v978v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v970v5v980v0v1 fx p = T.projection T.mkNoSrcPos p fx
                         in v970v5v980v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e) =>
         Bounded (T.Tuple5 a b c d e) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c982v3v982v59minBound
              (\ p ->
                 T.con5 T.mkNoSrcPos p T.Tuple5 T.aTuple5
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c983v3v983v59maxBound
              (\ p ->
                 T.con5 T.mkNoSrcPos p T.Tuple5 T.aTuple5
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq
         (T.Tuple6 a b c d e f) where
        (%==) !== p = T.ufun2 (+>@^=%=>@@=++==) (%==) p (*==)
          where (T.R (T.Tuple6 fa fb fc fd fe ff) _ *==
                   T.R (T.Tuple6 fa' fb' fc' fd' fe' ff') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    ff
                                                    ff')
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e,
          Ord f) =>
         Ord (T.Tuple6 a b c d e f) where
        gcompare pcompare p
          = T.ufun2 c991v3v1004v0compare pcompare p hcompare
          where hcompare (T.R (T.Tuple6 fa fb fc fd fe ff) _)
                  (T.R (T.Tuple6 fa' fb' fc' fd' fe' ff') _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v992v5v1004v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v993v15v1002v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v994v23v1001v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v995v31v1000v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v996v39v999v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uap2
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (gcompare
                                                                                T.mkNoSrcPos
                                                                                p)
                                                                             ff
                                                                             ff'
                                                                       v996v39v999v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v996v39v999v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v995v31v1000v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v995v31v1000v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v994v23v1001v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v994v23v1001v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v993v15v1002v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v993v15v1002v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v992v5v1004v0v1 fx p = T.projection T.mkNoSrcPos p fx
                         in v992v5v1004v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f) =>
         Bounded (T.Tuple6 a b c d e f) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1006v3v1006v68minBound
              (\ p ->
                 T.con6 T.mkNoSrcPos p T.Tuple6 T.aTuple6
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1007v3v1007v68maxBound
              (\ p ->
                 T.con6 T.mkNoSrcPos p T.Tuple6 T.aTuple6
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f,
          Eq g) =>
         Eq (T.Tuple7 a b c d e f g) where
        (%==) !== p
          = T.ufun2 (+#!##=%=#!#$=^^==) (%==) p (*==)
          where (T.R (T.Tuple7 fa fb fc fd fe ff fg) _ *==
                   T.R (T.Tuple7 fa' fb' fc' fd' fe' ff' fg') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          fg
                                                          fg')
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g) =>
         Ord (T.Tuple7 a b c d e f g) where
        gcompare pcompare p
          = T.ufun2 c1016v3v1031v0compare pcompare p hcompare
          where hcompare
                  (T.R (T.Tuple7 fa fb fc fd fe ff fg) _)
                  (T.R (T.Tuple7 fa' fb' fc' fd' fe' ff' fg') _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v1017v5v1031v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1018v15v1029v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1019v23v1028v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1020v31v1027v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1021v39v1026v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1022v47v1025v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (gcompare
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fg
                                                                                        fg'
                                                                                  v1022v47v1025v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1022v47v1025v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1021v39v1026v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1021v39v1026v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1020v31v1027v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1020v31v1027v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1019v23v1028v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1019v23v1028v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1018v15v1029v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1018v15v1029v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1017v5v1031v0v1 fx p
                             = T.projection T.mkNoSrcPos p fx
                         in v1017v5v1031v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g) =>
         Bounded (T.Tuple7 a b c d e f g) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1034v3v1034v77minBound
              (\ p ->
                 T.con7 T.mkNoSrcPos p T.Tuple7 T.aTuple7
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1035v3v1035v77maxBound
              (\ p ->
                 T.con7 T.mkNoSrcPos p T.Tuple7 T.aTuple7
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h) =>
         Eq (T.Tuple8 a b c d e f g h) where
        (%==) !== p
          = T.ufun2 (+#!&!=%=#!&$=#&==) (%==) p (*==)
          where (T.R (T.Tuple8 fa fb fc fd fe ff fg fh) _ *==
                   T.R (T.Tuple8 fa' fb' fc' fd' fe' ff' fg' fh') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fh
                                                                fh')
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h) =>
         Ord (T.Tuple8 a b c d e f g h) where
        gcompare pcompare p
          = T.ufun2 c1046v3v1062v0compare pcompare p hcompare
          where hcompare
                  (T.R (T.Tuple8 fa fb fc fd fe ff fg fh) _)
                  (T.R (T.Tuple8 fa' fb' fc' fd' fe' ff' fg' fh') _) p
                  = T.uccase T.mkNoSrcPos p
                      (let v1047v5v1062v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1048v15v1060v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1049v23v1059v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1050v31v1058v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1051v39v1057v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1052v47v1056v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1053v55v1055v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uap2
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (gcompare
                                                                                                      T.mkNoSrcPos
                                                                                                      p)
                                                                                                   fh
                                                                                                   fh'
                                                                                             v1053v55v1055v0v1
                                                                                               _
                                                                                               p
                                                                                               = T.fatal
                                                                                                   p
                                                                                           in
                                                                                           v1053v55v1055v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1052v47v1056v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1052v47v1056v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1051v39v1057v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1051v39v1057v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1050v31v1058v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1050v31v1058v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1049v23v1059v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1049v23v1059v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1048v15v1060v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1048v15v1060v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1047v5v1062v0v1 fx p
                             = T.projection T.mkNoSrcPos p fx
                         in v1047v5v1062v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h) =>
         Bounded (T.Tuple8 a b c d e f g h) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1065v3v1066v23minBound
              (\ p ->
                 T.con8 T.mkNoSrcPos p T.Tuple8 T.aTuple8
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1067v3v1068v23maxBound
              (\ p ->
                 T.con8 T.mkNoSrcPos p T.Tuple8 T.aTuple8
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h, Eq i) =>
         Eq (T.Tuple9 a b c d e f g h i) where
        (%==) !== p
          = T.ufun2 (+#!^$=%=#!^&=$*==) (%==) p (*==)
          where (T.R (T.Tuple9 fa fb fc fd fe ff fg fh fi) _
                   *==
                   T.R (T.Tuple9 fa' fb' fc' fd' fe' ff' fg' fh' fi') _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uwrapForward p
                                                                ((*&&)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fh
                                                                      fh')
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fi
                                                                      fi')
                                                                   p))
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h, Ord i) =>
         Ord (T.Tuple9 a b c d e f g h i) where
        gcompare pcompare p
          = T.ufun2 c1078v3v1096v0compare pcompare p hcompare
          where hcompare
                  (T.R (T.Tuple9 fa fb fc fd fe ff fg fh fi) _)
                  (T.R (T.Tuple9 fa' fb' fc' fd' fe' ff' fg' fh' fi')
                     _)
                  p
                  = T.uccase T.mkNoSrcPos p
                      (let v1079v5v1096v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1080v12v1096v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1081v13v1094v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1082v14v1093v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1083v15v1092v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1084v16v1091v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1085v17v1090v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uccase
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (let v1086v18v1089v0v1
                                                                                                          (T.R
                                                                                                             EQ
                                                                                                             _)
                                                                                                          p
                                                                                                          = T.uap2
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              (gcompare
                                                                                                                 T.mkNoSrcPos
                                                                                                                 p)
                                                                                                              fi
                                                                                                              fi'
                                                                                                        v1086v18v1089v0v1
                                                                                                          fx
                                                                                                          p
                                                                                                          = T.projection
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              fx
                                                                                                      in
                                                                                                      v1086v18v1089v0v1)
                                                                                                   (T.uap2
                                                                                                      T.mkNoSrcPos
                                                                                                      p
                                                                                                      (gcompare
                                                                                                         T.mkNoSrcPos
                                                                                                         p)
                                                                                                      fh
                                                                                                      fh')
                                                                                             v1085v17v1090v0v1
                                                                                               fx
                                                                                               p
                                                                                               = T.projection
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   fx
                                                                                           in
                                                                                           v1085v17v1090v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1084v16v1091v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1084v16v1091v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1083v15v1092v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1083v15v1092v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1082v14v1093v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1082v14v1093v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1081v13v1094v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1081v13v1094v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1080v12v1096v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1080v12v1096v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1079v5v1096v0v1 _ p = T.fatal p
                         in v1079v5v1096v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h,
          Bounded i) =>
         Bounded (T.Tuple9 a b c d e f g h i) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1099v3v1100v32minBound
              (\ p ->
                 T.con9 T.mkNoSrcPos p T.Tuple9 T.aTuple9
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1101v3v1102v32maxBound
              (\ p ->
                 T.con9 T.mkNoSrcPos p T.Tuple9 T.aTuple9
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h, Eq i, Eq j) =>
         Eq (T.Tuple10 a b c d e f g h i j) where
        (%==) !== p
          = T.ufun2 (+##!^=%=##!>=%+==) (%==) p (*==)
          where (T.R (T.Tuple10 fa fb fc fd fe ff fg fh fi fj)
                   _
                   *==
                   T.R
                     (T.Tuple10 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj')
                     _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uwrapForward p
                                                                ((*&&)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fh
                                                                      fh')
                                                                   (T.uwrapForward
                                                                      p
                                                                      ((*&&)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!==)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fi
                                                                            fi')
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!==)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fj
                                                                            fj')
                                                                         p))
                                                                   p))
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h, Ord i, Ord j) =>
         Ord (T.Tuple10 a b c d e f g h i j) where
        gcompare pcompare p
          = T.ufun2 c1113v3v1133v0compare pcompare p hcompare
          where hcompare
                  (T.R (T.Tuple10 fa fb fc fd fe ff fg fh fi fj) _)
                  (T.R
                     (T.Tuple10 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj')
                     _)
                  p
                  = T.uccase T.mkNoSrcPos p
                      (let v1114v5v1133v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1115v12v1133v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1116v13v1131v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1117v14v1130v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1118v15v1129v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1119v16v1128v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1120v17v1127v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uccase
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (let v1121v18v1126v0v1
                                                                                                          (T.R
                                                                                                             EQ
                                                                                                             _)
                                                                                                          p
                                                                                                          = T.uccase
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              (let v1122v19v1125v0v1
                                                                                                                     (T.R
                                                                                                                        EQ
                                                                                                                        _)
                                                                                                                     p
                                                                                                                     = T.uap2
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         (gcompare
                                                                                                                            T.mkNoSrcPos
                                                                                                                            p)
                                                                                                                         fj
                                                                                                                         fj'
                                                                                                                   v1122v19v1125v0v1
                                                                                                                     fx
                                                                                                                     p
                                                                                                                     = T.projection
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         fx
                                                                                                                 in
                                                                                                                 v1122v19v1125v0v1)
                                                                                                              (T.uap2
                                                                                                                 T.mkNoSrcPos
                                                                                                                 p
                                                                                                                 (gcompare
                                                                                                                    T.mkNoSrcPos
                                                                                                                    p)
                                                                                                                 fi
                                                                                                                 fi')
                                                                                                        v1121v18v1126v0v1
                                                                                                          fx
                                                                                                          p
                                                                                                          = T.projection
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              fx
                                                                                                      in
                                                                                                      v1121v18v1126v0v1)
                                                                                                   (T.uap2
                                                                                                      T.mkNoSrcPos
                                                                                                      p
                                                                                                      (gcompare
                                                                                                         T.mkNoSrcPos
                                                                                                         p)
                                                                                                      fh
                                                                                                      fh')
                                                                                             v1120v17v1127v0v1
                                                                                               fx
                                                                                               p
                                                                                               = T.projection
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   fx
                                                                                           in
                                                                                           v1120v17v1127v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1119v16v1128v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1119v16v1128v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1118v15v1129v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1118v15v1129v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1117v14v1130v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1117v14v1130v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1116v13v1131v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1116v13v1131v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1115v12v1133v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1115v12v1133v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1114v5v1133v0v1 _ p = T.fatal p
                         in v1114v5v1133v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h,
          Bounded i, Bounded j) =>
         Bounded (T.Tuple10 a b c d e f g h i j) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1136v3v1137v41minBound
              (\ p ->
                 T.con10 T.mkNoSrcPos p T.Tuple10 T.aTuple10
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1138v3v1139v41maxBound
              (\ p ->
                 T.con10 T.mkNoSrcPos p T.Tuple10 T.aTuple10
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h, Eq i, Eq j, Eq k) =>
         Eq (T.Tuple11 a b c d e f g h i j k) where
        (%==) !== p
          = T.ufun2 (+##&&=%=##&+=&^==) (%==) p (*==)
          where (T.R
                   (T.Tuple11 fa fb fc fd fe ff fg fh fi fj fk) _
                   *==
                   T.R
                     (T.Tuple11 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk')
                     _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uwrapForward p
                                                                ((*&&)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fh
                                                                      fh')
                                                                   (T.uwrapForward
                                                                      p
                                                                      ((*&&)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!==)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fi
                                                                            fi')
                                                                         (T.uwrapForward
                                                                            p
                                                                            ((*&&)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!==)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fj
                                                                                  fj')
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!==)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fk
                                                                                  fk')
                                                                               p))
                                                                         p))
                                                                   p))
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h, Ord i, Ord j, Ord k) =>
         Ord (T.Tuple11 a b c d e f g h i j k) where
        gcompare pcompare p
          = T.ufun2 c1150v3v1172v0compare pcompare p hcompare
          where hcompare
                  (T.R (T.Tuple11 fa fb fc fd fe ff fg fh fi fj fk) _)
                  (T.R
                     (T.Tuple11 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk')
                     _)
                  p
                  = T.uccase T.mkNoSrcPos p
                      (let v1151v5v1172v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1152v12v1172v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1153v13v1170v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1154v14v1169v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1155v15v1168v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1156v16v1167v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1157v17v1166v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uccase
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (let v1158v18v1165v0v1
                                                                                                          (T.R
                                                                                                             EQ
                                                                                                             _)
                                                                                                          p
                                                                                                          = T.uccase
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              (let v1159v19v1164v0v1
                                                                                                                     (T.R
                                                                                                                        EQ
                                                                                                                        _)
                                                                                                                     p
                                                                                                                     = T.uccase
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         (let v1160v20v1163v0v1
                                                                                                                                (T.R
                                                                                                                                   EQ
                                                                                                                                   _)
                                                                                                                                p
                                                                                                                                = T.uap2
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    (gcompare
                                                                                                                                       T.mkNoSrcPos
                                                                                                                                       p)
                                                                                                                                    fk
                                                                                                                                    fk'
                                                                                                                              v1160v20v1163v0v1
                                                                                                                                fx
                                                                                                                                p
                                                                                                                                = T.projection
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    fx
                                                                                                                            in
                                                                                                                            v1160v20v1163v0v1)
                                                                                                                         (T.uap2
                                                                                                                            T.mkNoSrcPos
                                                                                                                            p
                                                                                                                            (gcompare
                                                                                                                               T.mkNoSrcPos
                                                                                                                               p)
                                                                                                                            fj
                                                                                                                            fj')
                                                                                                                   v1159v19v1164v0v1
                                                                                                                     fx
                                                                                                                     p
                                                                                                                     = T.projection
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         fx
                                                                                                                 in
                                                                                                                 v1159v19v1164v0v1)
                                                                                                              (T.uap2
                                                                                                                 T.mkNoSrcPos
                                                                                                                 p
                                                                                                                 (gcompare
                                                                                                                    T.mkNoSrcPos
                                                                                                                    p)
                                                                                                                 fi
                                                                                                                 fi')
                                                                                                        v1158v18v1165v0v1
                                                                                                          fx
                                                                                                          p
                                                                                                          = T.projection
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              fx
                                                                                                      in
                                                                                                      v1158v18v1165v0v1)
                                                                                                   (T.uap2
                                                                                                      T.mkNoSrcPos
                                                                                                      p
                                                                                                      (gcompare
                                                                                                         T.mkNoSrcPos
                                                                                                         p)
                                                                                                      fh
                                                                                                      fh')
                                                                                             v1157v17v1166v0v1
                                                                                               fx
                                                                                               p
                                                                                               = T.projection
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   fx
                                                                                           in
                                                                                           v1157v17v1166v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1156v16v1167v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1156v16v1167v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1155v15v1168v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1155v15v1168v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1154v14v1169v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1154v14v1169v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1153v13v1170v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1153v13v1170v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1152v12v1172v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1152v12v1172v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1151v5v1172v0v1 _ p = T.fatal p
                         in v1151v5v1172v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h,
          Bounded i, Bounded j, Bounded k) =>
         Bounded (T.Tuple11 a b c d e f g h i j k) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1175v3v1176v50minBound
              (\ p ->
                 T.con11 T.mkNoSrcPos p T.Tuple11 T.aTuple11
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1177v3v1178v50maxBound
              (\ p ->
                 T.con11 T.mkNoSrcPos p T.Tuple11 T.aTuple11
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h, Eq i, Eq j, Eq k, Eq l) =>
         Eq (T.Tuple12 a b c d e f g h i j k l) where
        (%==) !== p
          = T.ufun2 (+##@%=%=##@*=*@==) (%==) p (*==)
          where (T.R
                   (T.Tuple12 fa fb fc fd fe ff fg fh fi fj fk fl) _
                   *==
                   T.R
                     (T.Tuple12 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl')
                     _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uwrapForward p
                                                                ((*&&)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fh
                                                                      fh')
                                                                   (T.uwrapForward
                                                                      p
                                                                      ((*&&)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!==)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fi
                                                                            fi')
                                                                         (T.uwrapForward
                                                                            p
                                                                            ((*&&)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!==)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fj
                                                                                  fj')
                                                                               (T.uwrapForward
                                                                                  p
                                                                                  ((*&&)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!==)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fk
                                                                                        fk')
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!==)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fl
                                                                                        fl')
                                                                                     p))
                                                                               p))
                                                                         p))
                                                                   p))
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) =>
         Ord (T.Tuple12 a b c d e f g h i j k l) where
        gcompare pcompare p
          = T.ufun2 c1190v3v1214v0compare pcompare p hcompare
          where hcompare
                  (T.R (T.Tuple12 fa fb fc fd fe ff fg fh fi fj fk fl)
                     _)
                  (T.R
                     (T.Tuple12 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl')
                     _)
                  p
                  = T.uccase T.mkNoSrcPos p
                      (let v1191v5v1214v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1192v12v1214v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1193v13v1212v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1194v14v1211v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1195v15v1210v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1196v16v1209v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1197v17v1208v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uccase
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (let v1198v18v1207v0v1
                                                                                                          (T.R
                                                                                                             EQ
                                                                                                             _)
                                                                                                          p
                                                                                                          = T.uccase
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              (let v1199v19v1206v0v1
                                                                                                                     (T.R
                                                                                                                        EQ
                                                                                                                        _)
                                                                                                                     p
                                                                                                                     = T.uccase
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         (let v1200v20v1205v0v1
                                                                                                                                (T.R
                                                                                                                                   EQ
                                                                                                                                   _)
                                                                                                                                p
                                                                                                                                = T.uccase
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    (let v1201v21v1204v0v1
                                                                                                                                           (T.R
                                                                                                                                              EQ
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           = T.uap2
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               (gcompare
                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                  p)
                                                                                                                                               fl
                                                                                                                                               fl'
                                                                                                                                         v1201v21v1204v0v1
                                                                                                                                           fx
                                                                                                                                           p
                                                                                                                                           = T.projection
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               fx
                                                                                                                                       in
                                                                                                                                       v1201v21v1204v0v1)
                                                                                                                                    (T.uap2
                                                                                                                                       T.mkNoSrcPos
                                                                                                                                       p
                                                                                                                                       (gcompare
                                                                                                                                          T.mkNoSrcPos
                                                                                                                                          p)
                                                                                                                                       fk
                                                                                                                                       fk')
                                                                                                                              v1200v20v1205v0v1
                                                                                                                                fx
                                                                                                                                p
                                                                                                                                = T.projection
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    fx
                                                                                                                            in
                                                                                                                            v1200v20v1205v0v1)
                                                                                                                         (T.uap2
                                                                                                                            T.mkNoSrcPos
                                                                                                                            p
                                                                                                                            (gcompare
                                                                                                                               T.mkNoSrcPos
                                                                                                                               p)
                                                                                                                            fj
                                                                                                                            fj')
                                                                                                                   v1199v19v1206v0v1
                                                                                                                     fx
                                                                                                                     p
                                                                                                                     = T.projection
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         fx
                                                                                                                 in
                                                                                                                 v1199v19v1206v0v1)
                                                                                                              (T.uap2
                                                                                                                 T.mkNoSrcPos
                                                                                                                 p
                                                                                                                 (gcompare
                                                                                                                    T.mkNoSrcPos
                                                                                                                    p)
                                                                                                                 fi
                                                                                                                 fi')
                                                                                                        v1198v18v1207v0v1
                                                                                                          fx
                                                                                                          p
                                                                                                          = T.projection
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              fx
                                                                                                      in
                                                                                                      v1198v18v1207v0v1)
                                                                                                   (T.uap2
                                                                                                      T.mkNoSrcPos
                                                                                                      p
                                                                                                      (gcompare
                                                                                                         T.mkNoSrcPos
                                                                                                         p)
                                                                                                      fh
                                                                                                      fh')
                                                                                             v1197v17v1208v0v1
                                                                                               fx
                                                                                               p
                                                                                               = T.projection
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   fx
                                                                                           in
                                                                                           v1197v17v1208v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1196v16v1209v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1196v16v1209v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1195v15v1210v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1195v15v1210v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1194v14v1211v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1194v14v1211v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1193v13v1212v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1193v13v1212v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1192v12v1214v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1192v12v1214v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1191v5v1214v0v1 _ p = T.fatal p
                         in v1191v5v1214v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h,
          Bounded i, Bounded j, Bounded k, Bounded l) =>
         Bounded (T.Tuple12 a b c d e f g h i j k l) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1217v3v1218v59minBound
              (\ p ->
                 T.con12 T.mkNoSrcPos p T.Tuple12 T.aTuple12
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1219v3v1220v59maxBound
              (\ p ->
                 T.con12 T.mkNoSrcPos p T.Tuple12 T.aTuple12
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h, Eq i, Eq j, Eq k, Eq l, Eq m) =>
         Eq (T.Tuple13 a b c d e f g h i j k l m) where
        (%==) !== p
          = T.ufun2 (+#$$*=%=#$$^=+>==) (%==) p (*==)
          where (T.R
                   (T.Tuple13 fa fb fc fd fe ff fg fh fi fj fk fl fm) _
                   *==
                   T.R
                     (T.Tuple13 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl' fm')
                     _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uwrapForward p
                                                                ((*&&)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fh
                                                                      fh')
                                                                   (T.uwrapForward
                                                                      p
                                                                      ((*&&)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!==)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fi
                                                                            fi')
                                                                         (T.uwrapForward
                                                                            p
                                                                            ((*&&)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!==)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fj
                                                                                  fj')
                                                                               (T.uwrapForward
                                                                                  p
                                                                                  ((*&&)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!==)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fk
                                                                                        fk')
                                                                                     (T.uwrapForward
                                                                                        p
                                                                                        ((*&&)
                                                                                           (T.uap2
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ((!==)
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fl
                                                                                              fl')
                                                                                           (T.uap2
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ((!==)
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fm
                                                                                              fm')
                                                                                           p))
                                                                                     p))
                                                                               p))
                                                                         p))
                                                                   p))
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) =>
         Ord (T.Tuple13 a b c d e f g h i j k l m) where
        gcompare pcompare p
          = T.ufun2 c1232v3v1259v0compare pcompare p hcompare
          where hcompare
                  (T.R
                     (T.Tuple13 fa fb fc fd fe ff fg fh fi fj fk fl fm) _)
                  (T.R
                     (T.Tuple13 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl' fm')
                     _)
                  p
                  = T.uccase T.mkNoSrcPos p
                      (let v1234v5v1259v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1235v12v1259v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1236v13v1257v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1237v14v1256v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1238v15v1255v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1239v16v1254v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1240v17v1253v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uccase
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (let v1241v18v1252v0v1
                                                                                                          (T.R
                                                                                                             EQ
                                                                                                             _)
                                                                                                          p
                                                                                                          = T.uccase
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              (let v1242v19v1251v0v1
                                                                                                                     (T.R
                                                                                                                        EQ
                                                                                                                        _)
                                                                                                                     p
                                                                                                                     = T.uccase
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         (let v1243v20v1250v0v1
                                                                                                                                (T.R
                                                                                                                                   EQ
                                                                                                                                   _)
                                                                                                                                p
                                                                                                                                = T.uccase
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    (let v1244v21v1249v0v1
                                                                                                                                           (T.R
                                                                                                                                              EQ
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           = T.uccase
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               (let v1245v22v1248v0v1
                                                                                                                                                      (T.R
                                                                                                                                                         EQ
                                                                                                                                                         _)
                                                                                                                                                      p
                                                                                                                                                      = T.uap2
                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                          p
                                                                                                                                                          (gcompare
                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                             p)
                                                                                                                                                          fm
                                                                                                                                                          fm'
                                                                                                                                                    v1245v22v1248v0v1
                                                                                                                                                      fx
                                                                                                                                                      p
                                                                                                                                                      = T.projection
                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                          p
                                                                                                                                                          fx
                                                                                                                                                  in
                                                                                                                                                  v1245v22v1248v0v1)
                                                                                                                                               (T.uap2
                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                  p
                                                                                                                                                  (gcompare
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p)
                                                                                                                                                  fl
                                                                                                                                                  fl')
                                                                                                                                         v1244v21v1249v0v1
                                                                                                                                           fx
                                                                                                                                           p
                                                                                                                                           = T.projection
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               fx
                                                                                                                                       in
                                                                                                                                       v1244v21v1249v0v1)
                                                                                                                                    (T.uap2
                                                                                                                                       T.mkNoSrcPos
                                                                                                                                       p
                                                                                                                                       (gcompare
                                                                                                                                          T.mkNoSrcPos
                                                                                                                                          p)
                                                                                                                                       fk
                                                                                                                                       fk')
                                                                                                                              v1243v20v1250v0v1
                                                                                                                                fx
                                                                                                                                p
                                                                                                                                = T.projection
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    fx
                                                                                                                            in
                                                                                                                            v1243v20v1250v0v1)
                                                                                                                         (T.uap2
                                                                                                                            T.mkNoSrcPos
                                                                                                                            p
                                                                                                                            (gcompare
                                                                                                                               T.mkNoSrcPos
                                                                                                                               p)
                                                                                                                            fj
                                                                                                                            fj')
                                                                                                                   v1242v19v1251v0v1
                                                                                                                     fx
                                                                                                                     p
                                                                                                                     = T.projection
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         fx
                                                                                                                 in
                                                                                                                 v1242v19v1251v0v1)
                                                                                                              (T.uap2
                                                                                                                 T.mkNoSrcPos
                                                                                                                 p
                                                                                                                 (gcompare
                                                                                                                    T.mkNoSrcPos
                                                                                                                    p)
                                                                                                                 fi
                                                                                                                 fi')
                                                                                                        v1241v18v1252v0v1
                                                                                                          fx
                                                                                                          p
                                                                                                          = T.projection
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              fx
                                                                                                      in
                                                                                                      v1241v18v1252v0v1)
                                                                                                   (T.uap2
                                                                                                      T.mkNoSrcPos
                                                                                                      p
                                                                                                      (gcompare
                                                                                                         T.mkNoSrcPos
                                                                                                         p)
                                                                                                      fh
                                                                                                      fh')
                                                                                             v1240v17v1253v0v1
                                                                                               fx
                                                                                               p
                                                                                               = T.projection
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   fx
                                                                                           in
                                                                                           v1240v17v1253v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1239v16v1254v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1239v16v1254v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1238v15v1255v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1238v15v1255v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1237v14v1256v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1237v14v1256v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1236v13v1257v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1236v13v1257v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1235v12v1259v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1235v12v1259v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1234v5v1259v0v1 _ p = T.fatal p
                         in v1234v5v1259v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h,
          Bounded i, Bounded j, Bounded k, Bounded l,
          Bounded m) =>
         Bounded (T.Tuple13 a b c d e f g h i j k l m) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1263v3v1264v68minBound
              (\ p ->
                 T.con13 T.mkNoSrcPos p T.Tuple13 T.aTuple13
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1265v3v1266v68maxBound
              (\ p ->
                 T.con13 T.mkNoSrcPos p T.Tuple13 T.aTuple13
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h, Eq i, Eq j, Eq k, Eq l, Eq m, Eq n) =>
         Eq (T.Tuple14 a b c d e f g h i j k l m n) where
        (%==) !== p
          = T.ufun2 (+#$^#=%=#$^*=#&==) (%==) p (*==)
          where (T.R
                   (T.Tuple14 fa fb fc fd fe ff fg fh fi fj fk fl fm fn)
                   _
                   *==
                   T.R
                     (T.Tuple14 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl' fm' fn')
                     _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uwrapForward p
                                                                ((*&&)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fh
                                                                      fh')
                                                                   (T.uwrapForward
                                                                      p
                                                                      ((*&&)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!==)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fi
                                                                            fi')
                                                                         (T.uwrapForward
                                                                            p
                                                                            ((*&&)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!==)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fj
                                                                                  fj')
                                                                               (T.uwrapForward
                                                                                  p
                                                                                  ((*&&)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!==)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fk
                                                                                        fk')
                                                                                     (T.uwrapForward
                                                                                        p
                                                                                        ((*&&)
                                                                                           (T.uap2
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ((!==)
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fl
                                                                                              fl')
                                                                                           (T.uwrapForward
                                                                                              p
                                                                                              ((*&&)
                                                                                                 (T.uap2
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ((!==)
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    fm
                                                                                                    fm')
                                                                                                 (T.uap2
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ((!==)
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    fn
                                                                                                    fn')
                                                                                                 p))
                                                                                           p))
                                                                                     p))
                                                                               p))
                                                                         p))
                                                                   p))
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m,
          Ord n) =>
         Ord (T.Tuple14 a b c d e f g h i j k l m n) where
        gcompare pcompare p
          = T.ufun2 c1280v3v1309v0compare pcompare p hcompare
          where hcompare
                  (T.R
                     (T.Tuple14 fa fb fc fd fe ff fg fh fi fj fk fl fm fn)
                     _)
                  (T.R
                     (T.Tuple14 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl' fm' fn')
                     _)
                  p
                  = T.uccase T.mkNoSrcPos p
                      (let v1282v5v1309v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1283v12v1309v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1284v13v1307v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1285v14v1306v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1286v15v1305v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1287v16v1304v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1288v17v1303v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uccase
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (let v1289v18v1302v0v1
                                                                                                          (T.R
                                                                                                             EQ
                                                                                                             _)
                                                                                                          p
                                                                                                          = T.uccase
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              (let v1290v19v1301v0v1
                                                                                                                     (T.R
                                                                                                                        EQ
                                                                                                                        _)
                                                                                                                     p
                                                                                                                     = T.uccase
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         (let v1291v20v1300v0v1
                                                                                                                                (T.R
                                                                                                                                   EQ
                                                                                                                                   _)
                                                                                                                                p
                                                                                                                                = T.uccase
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    (let v1292v21v1299v0v1
                                                                                                                                           (T.R
                                                                                                                                              EQ
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           = T.uccase
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               (let v1293v22v1298v0v1
                                                                                                                                                      (T.R
                                                                                                                                                         EQ
                                                                                                                                                         _)
                                                                                                                                                      p
                                                                                                                                                      = T.uccase
                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                          p
                                                                                                                                                          (let v1294v23v1297v0v1
                                                                                                                                                                 (T.R
                                                                                                                                                                    EQ
                                                                                                                                                                    _)
                                                                                                                                                                 p
                                                                                                                                                                 = T.uap2
                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                     p
                                                                                                                                                                     (gcompare
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p)
                                                                                                                                                                     fn
                                                                                                                                                                     fn'
                                                                                                                                                               v1294v23v1297v0v1
                                                                                                                                                                 fx
                                                                                                                                                                 p
                                                                                                                                                                 = T.projection
                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                     p
                                                                                                                                                                     fx
                                                                                                                                                             in
                                                                                                                                                             v1294v23v1297v0v1)
                                                                                                                                                          (T.uap2
                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                             p
                                                                                                                                                             (gcompare
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p)
                                                                                                                                                             fm
                                                                                                                                                             fm')
                                                                                                                                                    v1293v22v1298v0v1
                                                                                                                                                      fx
                                                                                                                                                      p
                                                                                                                                                      = T.projection
                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                          p
                                                                                                                                                          fx
                                                                                                                                                  in
                                                                                                                                                  v1293v22v1298v0v1)
                                                                                                                                               (T.uap2
                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                  p
                                                                                                                                                  (gcompare
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p)
                                                                                                                                                  fl
                                                                                                                                                  fl')
                                                                                                                                         v1292v21v1299v0v1
                                                                                                                                           fx
                                                                                                                                           p
                                                                                                                                           = T.projection
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               fx
                                                                                                                                       in
                                                                                                                                       v1292v21v1299v0v1)
                                                                                                                                    (T.uap2
                                                                                                                                       T.mkNoSrcPos
                                                                                                                                       p
                                                                                                                                       (gcompare
                                                                                                                                          T.mkNoSrcPos
                                                                                                                                          p)
                                                                                                                                       fk
                                                                                                                                       fk')
                                                                                                                              v1291v20v1300v0v1
                                                                                                                                fx
                                                                                                                                p
                                                                                                                                = T.projection
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    fx
                                                                                                                            in
                                                                                                                            v1291v20v1300v0v1)
                                                                                                                         (T.uap2
                                                                                                                            T.mkNoSrcPos
                                                                                                                            p
                                                                                                                            (gcompare
                                                                                                                               T.mkNoSrcPos
                                                                                                                               p)
                                                                                                                            fj
                                                                                                                            fj')
                                                                                                                   v1290v19v1301v0v1
                                                                                                                     fx
                                                                                                                     p
                                                                                                                     = T.projection
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         fx
                                                                                                                 in
                                                                                                                 v1290v19v1301v0v1)
                                                                                                              (T.uap2
                                                                                                                 T.mkNoSrcPos
                                                                                                                 p
                                                                                                                 (gcompare
                                                                                                                    T.mkNoSrcPos
                                                                                                                    p)
                                                                                                                 fi
                                                                                                                 fi')
                                                                                                        v1289v18v1302v0v1
                                                                                                          fx
                                                                                                          p
                                                                                                          = T.projection
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              fx
                                                                                                      in
                                                                                                      v1289v18v1302v0v1)
                                                                                                   (T.uap2
                                                                                                      T.mkNoSrcPos
                                                                                                      p
                                                                                                      (gcompare
                                                                                                         T.mkNoSrcPos
                                                                                                         p)
                                                                                                      fh
                                                                                                      fh')
                                                                                             v1288v17v1303v0v1
                                                                                               fx
                                                                                               p
                                                                                               = T.projection
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   fx
                                                                                           in
                                                                                           v1288v17v1303v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1287v16v1304v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1287v16v1304v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1286v15v1305v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1286v15v1305v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1285v14v1306v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1285v14v1306v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1284v13v1307v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1284v13v1307v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1283v12v1309v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1283v12v1309v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1282v5v1309v0v1 _ p = T.fatal p
                         in v1282v5v1309v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h,
          Bounded i, Bounded j, Bounded k, Bounded l,
          Bounded m, Bounded n) =>
         Bounded (T.Tuple14 a b c d e f g h i j k l m n) where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1313v3v1314v77minBound
              (\ p ->
                 T.con14 T.mkNoSrcPos p T.Tuple14 T.aTuple14
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1315v3v1316v77maxBound
              (\ p ->
                 T.con14 T.mkNoSrcPos p T.Tuple14 T.aTuple14
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g,
          Eq h, Eq i, Eq j, Eq k, Eq l, Eq m, Eq n, Eq o) =>
         Eq (T.Tuple15 a b c d e f g h i j k l m n o) where
        (%==) !== p
          = T.ufun2 (+#%$$=%=#%$+=$*==) (%==) p (*==)
          where (T.R
                   (T.Tuple15 fa fb fc fd fe ff fg fh fi fj fk fl fm fn
                      fo)
                   _
                   *==
                   T.R
                     (T.Tuple15 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl' fm' fn' fo')
                     _)
                  p
                  = T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fa fa')
                         (T.uwrapForward p
                            ((*&&)
                               (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fb
                                  fb')
                               (T.uwrapForward p
                                  ((*&&)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!==) T.mkNoSrcPos p)
                                        fc
                                        fc')
                                     (T.uwrapForward p
                                        ((*&&)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!==) T.mkNoSrcPos p)
                                              fd
                                              fd')
                                           (T.uwrapForward p
                                              ((*&&)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!==) T.mkNoSrcPos p)
                                                    fe
                                                    fe')
                                                 (T.uwrapForward p
                                                    ((*&&)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!==) T.mkNoSrcPos p)
                                                          ff
                                                          ff')
                                                       (T.uwrapForward p
                                                          ((*&&)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!==)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                fg
                                                                fg')
                                                             (T.uwrapForward p
                                                                ((*&&)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!==)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fh
                                                                      fh')
                                                                   (T.uwrapForward
                                                                      p
                                                                      ((*&&)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!==)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fi
                                                                            fi')
                                                                         (T.uwrapForward
                                                                            p
                                                                            ((*&&)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!==)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fj
                                                                                  fj')
                                                                               (T.uwrapForward
                                                                                  p
                                                                                  ((*&&)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!==)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fk
                                                                                        fk')
                                                                                     (T.uwrapForward
                                                                                        p
                                                                                        ((*&&)
                                                                                           (T.uap2
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ((!==)
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fl
                                                                                              fl')
                                                                                           (T.uwrapForward
                                                                                              p
                                                                                              ((*&&)
                                                                                                 (T.uap2
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ((!==)
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    fm
                                                                                                    fm')
                                                                                                 (T.uwrapForward
                                                                                                    p
                                                                                                    ((*&&)
                                                                                                       (T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((!==)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          fn
                                                                                                          fn')
                                                                                                       (T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((!==)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          fo
                                                                                                          fo')
                                                                                                       p))
                                                                                                 p))
                                                                                           p))
                                                                                     p))
                                                                               p))
                                                                         p))
                                                                   p))
                                                             p))
                                                       p))
                                                 p))
                                           p))
                                     p))
                               p))
                         p)
 
instance (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f,
          Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m,
          Ord n, Ord o) =>
         Ord (T.Tuple15 a b c d e f g h i j k l m n o) where
        gcompare pcompare p
          = T.ufun2 c1331v3v1362v0compare pcompare p hcompare
          where hcompare
                  (T.R
                     (T.Tuple15 fa fb fc fd fe ff fg fh fi fj fk fl fm fn
                        fo)
                     _)
                  (T.R
                     (T.Tuple15 fa' fb' fc' fd' fe' ff' fg' fh' fi' fj'
                        fk' fl' fm' fn' fo')
                     _)
                  p
                  = T.uccase T.mkNoSrcPos p
                      (let v1333v5v1362v0v1 (T.R EQ _) p
                             = T.uccase T.mkNoSrcPos p
                                 (let v1334v12v1362v0v1 (T.R EQ _) p
                                        = T.uccase T.mkNoSrcPos p
                                            (let v1335v13v1360v0v1 (T.R EQ _) p
                                                   = T.uccase T.mkNoSrcPos p
                                                       (let v1336v14v1359v0v1
                                                              (T.R EQ _) p
                                                              = T.uccase
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  (let v1337v15v1358v0v1
                                                                         (T.R EQ
                                                                            _)
                                                                         p
                                                                         = T.uccase
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             (let v1338v16v1357v0v1
                                                                                    (T.R
                                                                                       EQ
                                                                                       _)
                                                                                    p
                                                                                    = T.uccase
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (let v1339v17v1356v0v1
                                                                                               (T.R
                                                                                                  EQ
                                                                                                  _)
                                                                                               p
                                                                                               = T.uccase
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   (let v1340v18v1355v0v1
                                                                                                          (T.R
                                                                                                             EQ
                                                                                                             _)
                                                                                                          p
                                                                                                          = T.uccase
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              (let v1341v19v1354v0v1
                                                                                                                     (T.R
                                                                                                                        EQ
                                                                                                                        _)
                                                                                                                     p
                                                                                                                     = T.uccase
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         (let v1342v20v1353v0v1
                                                                                                                                (T.R
                                                                                                                                   EQ
                                                                                                                                   _)
                                                                                                                                p
                                                                                                                                = T.uccase
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    (let v1343v21v1352v0v1
                                                                                                                                           (T.R
                                                                                                                                              EQ
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           = T.uccase
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               (let v1344v22v1351v0v1
                                                                                                                                                      (T.R
                                                                                                                                                         EQ
                                                                                                                                                         _)
                                                                                                                                                      p
                                                                                                                                                      = T.uccase
                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                          p
                                                                                                                                                          (let v1345v23v1350v0v1
                                                                                                                                                                 (T.R
                                                                                                                                                                    EQ
                                                                                                                                                                    _)
                                                                                                                                                                 p
                                                                                                                                                                 = T.uccase
                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                     p
                                                                                                                                                                     (let v1346v24v1349v0v1
                                                                                                                                                                            (T.R
                                                                                                                                                                               EQ
                                                                                                                                                                               _)
                                                                                                                                                                            p
                                                                                                                                                                            = T.uap2
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (gcompare
                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                   p)
                                                                                                                                                                                fo
                                                                                                                                                                                fo'
                                                                                                                                                                          v1346v24v1349v0v1
                                                                                                                                                                            fx
                                                                                                                                                                            p
                                                                                                                                                                            = T.projection
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                fx
                                                                                                                                                                        in
                                                                                                                                                                        v1346v24v1349v0v1)
                                                                                                                                                                     (T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        (gcompare
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        fn
                                                                                                                                                                        fn')
                                                                                                                                                               v1345v23v1350v0v1
                                                                                                                                                                 fx
                                                                                                                                                                 p
                                                                                                                                                                 = T.projection
                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                     p
                                                                                                                                                                     fx
                                                                                                                                                             in
                                                                                                                                                             v1345v23v1350v0v1)
                                                                                                                                                          (T.uap2
                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                             p
                                                                                                                                                             (gcompare
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p)
                                                                                                                                                             fm
                                                                                                                                                             fm')
                                                                                                                                                    v1344v22v1351v0v1
                                                                                                                                                      fx
                                                                                                                                                      p
                                                                                                                                                      = T.projection
                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                          p
                                                                                                                                                          fx
                                                                                                                                                  in
                                                                                                                                                  v1344v22v1351v0v1)
                                                                                                                                               (T.uap2
                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                  p
                                                                                                                                                  (gcompare
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p)
                                                                                                                                                  fl
                                                                                                                                                  fl')
                                                                                                                                         v1343v21v1352v0v1
                                                                                                                                           fx
                                                                                                                                           p
                                                                                                                                           = T.projection
                                                                                                                                               T.mkNoSrcPos
                                                                                                                                               p
                                                                                                                                               fx
                                                                                                                                       in
                                                                                                                                       v1343v21v1352v0v1)
                                                                                                                                    (T.uap2
                                                                                                                                       T.mkNoSrcPos
                                                                                                                                       p
                                                                                                                                       (gcompare
                                                                                                                                          T.mkNoSrcPos
                                                                                                                                          p)
                                                                                                                                       fk
                                                                                                                                       fk')
                                                                                                                              v1342v20v1353v0v1
                                                                                                                                fx
                                                                                                                                p
                                                                                                                                = T.projection
                                                                                                                                    T.mkNoSrcPos
                                                                                                                                    p
                                                                                                                                    fx
                                                                                                                            in
                                                                                                                            v1342v20v1353v0v1)
                                                                                                                         (T.uap2
                                                                                                                            T.mkNoSrcPos
                                                                                                                            p
                                                                                                                            (gcompare
                                                                                                                               T.mkNoSrcPos
                                                                                                                               p)
                                                                                                                            fj
                                                                                                                            fj')
                                                                                                                   v1341v19v1354v0v1
                                                                                                                     fx
                                                                                                                     p
                                                                                                                     = T.projection
                                                                                                                         T.mkNoSrcPos
                                                                                                                         p
                                                                                                                         fx
                                                                                                                 in
                                                                                                                 v1341v19v1354v0v1)
                                                                                                              (T.uap2
                                                                                                                 T.mkNoSrcPos
                                                                                                                 p
                                                                                                                 (gcompare
                                                                                                                    T.mkNoSrcPos
                                                                                                                    p)
                                                                                                                 fi
                                                                                                                 fi')
                                                                                                        v1340v18v1355v0v1
                                                                                                          fx
                                                                                                          p
                                                                                                          = T.projection
                                                                                                              T.mkNoSrcPos
                                                                                                              p
                                                                                                              fx
                                                                                                      in
                                                                                                      v1340v18v1355v0v1)
                                                                                                   (T.uap2
                                                                                                      T.mkNoSrcPos
                                                                                                      p
                                                                                                      (gcompare
                                                                                                         T.mkNoSrcPos
                                                                                                         p)
                                                                                                      fh
                                                                                                      fh')
                                                                                             v1339v17v1356v0v1
                                                                                               fx
                                                                                               p
                                                                                               = T.projection
                                                                                                   T.mkNoSrcPos
                                                                                                   p
                                                                                                   fx
                                                                                           in
                                                                                           v1339v17v1356v0v1)
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gcompare
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           fg
                                                                                           fg')
                                                                                  v1338v16v1357v0v1
                                                                                    fx
                                                                                    p
                                                                                    = T.projection
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        fx
                                                                                in
                                                                                v1338v16v1357v0v1)
                                                                             (T.uap2
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (gcompare
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                ff
                                                                                ff')
                                                                       v1337v15v1358v0v1
                                                                         fx p
                                                                         = T.projection
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             fx
                                                                     in
                                                                     v1337v15v1358v0v1)
                                                                  (T.uap2
                                                                     T.mkNoSrcPos
                                                                     p
                                                                     (gcompare
                                                                        T.mkNoSrcPos
                                                                        p)
                                                                     fe
                                                                     fe')
                                                            v1336v14v1359v0v1 fx
                                                              p
                                                              = T.projection
                                                                  T.mkNoSrcPos
                                                                  p
                                                                  fx
                                                          in v1336v14v1359v0v1)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          (gcompare T.mkNoSrcPos
                                                             p)
                                                          fd
                                                          fd')
                                                 v1335v13v1360v0v1 fx p
                                                   = T.projection T.mkNoSrcPos p
                                                       fx
                                               in v1335v13v1360v0v1)
                                            (T.uap2 T.mkNoSrcPos p
                                               (gcompare T.mkNoSrcPos p)
                                               fc
                                               fc')
                                      v1334v12v1362v0v1 fx p
                                        = T.projection T.mkNoSrcPos p fx
                                    in v1334v12v1362v0v1)
                                 (T.uap2 T.mkNoSrcPos p
                                    (gcompare T.mkNoSrcPos p)
                                    fb
                                    fb')
                           v1333v5v1362v0v1 _ p = T.fatal p
                         in v1333v5v1362v0v1)
                      (T.uap2 T.mkNoSrcPos p (gcompare T.mkNoSrcPos p) fa
                         fa')
 
instance (Bounded a, Bounded b, Bounded c, Bounded d,
          Bounded e, Bounded f, Bounded g, Bounded h,
          Bounded i, Bounded j, Bounded k, Bounded l,
          Bounded m, Bounded n, Bounded o) =>
         Bounded (T.Tuple15 a b c d e f g h i j k l m n o)
         where
        gminBound pminBound p
          = T.uconstUse pminBound p sminBound
        sminBound
          = T.uconstDef p c1366v3v1368v23minBound
              (\ p ->
                 T.con15 T.mkNoSrcPos p T.Tuple15 T.aTuple15
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p)
                   (gminBound T.mkNoSrcPos p))
        gmaxBound pmaxBound p
          = T.uconstUse pmaxBound p smaxBound
        smaxBound
          = T.uconstDef p c1369v3v1371v23maxBound
              (\ p ->
                 T.con15 T.mkNoSrcPos p T.Tuple15 T.aTuple15
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p)
                   (gmaxBound T.mkNoSrcPos p))
 
gfst ::
     T.RefSrcPos ->
       T.RefExp -> T.R (T.Fun (T.Tuple2 a b) a)
 
hfst :: T.R (T.Tuple2 a b) -> T.RefExp -> T.R a
gfst pfst p = T.ufun1 afst pfst p hfst
hfst (T.R (T.Tuple2 fx fy) _) p
  = T.projection T.mkNoSrcPos p fx
 
gsnd ::
     T.RefSrcPos ->
       T.RefExp -> T.R (T.Fun (T.Tuple2 a b) b)
 
hsnd :: T.R (T.Tuple2 a b) -> T.RefExp -> T.R b
gsnd psnd p = T.ufun1 asnd psnd p hsnd
hsnd (T.R (T.Tuple2 fx fy) _) p
  = T.projection T.mkNoSrcPos p fy
 
gcurry ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.Fun (T.Tuple2 a b) c)
                (T.Fun a (T.Fun b c)))
 
hcurry ::
       T.R (T.Fun (T.Tuple2 a b) c) ->
         T.R a -> T.R b -> T.RefExp -> T.R c
gcurry pcurry p = T.ufun3 acurry pcurry p hcurry
hcurry ff fx fy p
  = T.uap1 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fx fy)
 
guncurry ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R
               (T.Fun (T.Fun a (T.Fun b c))
                  (T.Fun (T.Tuple2 a b) c))
 
huncurry ::
         T.R (T.Fun a (T.Fun b c)) ->
           (T.R (T.Tuple2 a b) -> T.RefExp -> T.R c)
guncurry puncurry p
  = T.ufun2 auncurry puncurry p huncurry
huncurry ff fp p
  = T.uap2 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      (T.uwrapForward p (hfst fp p))
      (T.uwrapForward p (hsnd fp p))
 
guntil ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.Fun a Bool)
                (T.Fun (T.Fun a a) (T.Fun a a)))
 
huntil ::
       T.R (T.Fun a Bool) ->
         T.R (T.Fun a a) -> T.R a -> T.RefExp -> T.R a
guntil puntil p = T.ufun3 auntil puntil p huntil
huntil fp ff fx p
  = T.ucguard (T.uap1 T.mkNoSrcPos p fp fx)
      (T.projection T.mkNoSrcPos p fx)
      (T.ucguard (gotherwise T.mkNoSrcPos p)
         (T.uwrapForward p
            (huntil fp ff (T.uap1 T.mkNoSrcPos p ff fx) p))
         (T.fatal p))
 
gasTypeOf ::
          T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.Fun a a))
 
sasTypeOf :: T.R (T.Fun a (T.Fun a a))
gasTypeOf pasTypeOf p
  = T.uconstUse pasTypeOf p sasTypeOf
sasTypeOf
  = T.uconstDef p aasTypeOf
      (\ p -> gconst T.mkNoSrcPos p)
 
g_foldr ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a (T.Fun b b))
                 (T.Fun (T.List a) (T.Fun b b)))
 
h_foldr ::
        T.R (T.Fun a (T.Fun b b)) ->
          T.R (T.List a) -> T.R b -> T.RefExp -> T.R b
g_foldr p_foldr p = T.ufun3 a_foldr p_foldr p h_foldr
h_foldr ff (T.R T.Nil _) fd p
  = T.projection T.mkNoSrcPos p fd
h_foldr ff (T.R (T.Cons fx fxs) _) fd p
  = T.uap2 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      fx
      (T.uwrapForward p (h_foldr ff fxs fd p))
h_foldr _ _ _ p = T.fatal p
 
g_filter ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R
               (T.Fun Bool
                  (T.Fun (T.Fun (T.List a) (T.List a))
                     (T.Fun (T.List a) (T.List a))))
 
h_filter ::
         T.R Bool ->
           T.R (T.Fun (T.List a) (T.List a)) ->
             T.R (T.List a) -> T.RefExp -> T.R (T.List a)
g_filter p_filter p
  = T.ufun3 a_filter p_filter p h_filter
h_filter fb fe fr p
  = T.ucif p fb
      (T.uap1 T.mkNoSrcPos p
         (T.projection T.mkNoSrcPos p fe)
         fr)
      (T.projection T.mkNoSrcPos p fr)
 
gmap ::
     T.RefSrcPos ->
       T.RefExp ->
         T.R (T.Fun (T.Fun a b) (T.Fun (T.List a) (T.List b)))
 
hmap ::
     T.R (T.Fun a b) ->
       T.R (T.List a) -> T.RefExp -> T.R (T.List b)
gmap pmap p = T.ufun2 amap pmap p hmap
hmap ff (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hmap ff (T.R (T.Cons fx fxs) _) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons
      (T.uap1 T.mkNoSrcPos p ff fx)
      (T.uwrapForward p (hmap ff fxs p))
hmap _ _ p = T.fatal p
 
(!++) ::
      T.RefSrcPos ->
        T.RefExp ->
          T.R (T.Fun (T.List a) (T.Fun (T.List a) (T.List a)))
 
(*++) ::
      T.R (T.List a) ->
        T.R (T.List a) -> T.RefExp -> T.R (T.List a)
(%++) !++ p = T.ufun2 (+++) (%++) p (*++)
(T.R T.Nil _ *++ fys) p
  = T.projection T.mkNoSrcPos p fys
((T.R (T.Cons fx fxs) _) *++ fys) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
      (T.uwrapForward p ((*++) fxs fys p))
(_ *++ _) p = T.fatal p
 
gfilter ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a Bool) (T.Fun (T.List a) (T.List a)))
 
hfilter ::
        T.R (T.Fun a Bool) ->
          T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gfilter pfilter p = T.ufun2 afilter pfilter p hfilter
hfilter fp (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hfilter fp (T.R (T.Cons fx fxs) _) p
  = T.ucguard (T.uap1 T.mkNoSrcPos p fp fx)
      (T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
         (T.uwrapForward p (hfilter fp fxs p)))
      (T.ucguard (gotherwise T.mkNoSrcPos p)
         (T.uwrapForward p (hfilter fp fxs p))
         (T.fatal p))
hfilter _ _ p = T.fatal p
 
gconcat ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R (T.Fun (T.List (T.List a)) (T.List a))
 
hconcat ::
        T.R (T.List (T.List a)) -> T.RefExp -> T.R (T.List a)
gconcat pconcat p = T.ufun1 aconcat pconcat p hconcat
hconcat fxss p
  = T.uwrapForward p
      (hfoldr ((!++) T.mkNoSrcPos p)
         (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
         fxss
         p)
 
ghead ::
      T.RefSrcPos -> T.RefExp -> T.R (T.Fun (T.List a) a)
 
hhead :: T.R (T.List a) -> T.RefExp -> T.R a
ghead phead p = T.ufun1 ahead phead p hhead
hhead (T.R (T.Cons fx _) _) p
  = T.projection T.mkNoSrcPos p fx
hhead (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.head: empty list")
         p)
hhead _ p = T.fatal p
 
glast ::
      T.RefSrcPos -> T.RefExp -> T.R (T.Fun (T.List a) a)
 
hlast :: T.R (T.List a) -> T.RefExp -> T.R a
glast plast p = T.ufun1 alast plast p hlast
hlast (T.R (T.Cons fx (T.R T.Nil _)) _) p
  = T.projection T.mkNoSrcPos p fx
hlast (T.R (T.Cons _ fxs) _) p
  = T.uwrapForward p (hlast fxs p)
hlast (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.last: empty list")
         p)
hlast _ p = T.fatal p
 
gtail ::
      T.RefSrcPos ->
        T.RefExp -> T.R (T.Fun (T.List a) (T.List a))
 
htail :: T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gtail ptail p = T.ufun1 atail ptail p htail
htail (T.R (T.Cons _ fxs) _) p
  = T.projection T.mkNoSrcPos p fxs
htail (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.tail: empty list")
         p)
htail _ p = T.fatal p
 
ginit ::
      T.RefSrcPos ->
        T.RefExp -> T.R (T.Fun (T.List a) (T.List a))
 
hinit :: T.R (T.List a) -> T.RefExp -> T.R (T.List a)
ginit pinit p = T.ufun1 ainit pinit p hinit
hinit (T.R (T.Cons fx (T.R T.Nil _)) _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hinit (T.R (T.Cons fx fxs) _) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
      (T.uwrapForward p (hinit fxs p))
hinit (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.init: empty list")
         p)
hinit _ p = T.fatal p
 
gnull ::
      T.RefSrcPos ->
        T.RefExp -> T.R (T.Fun (T.List a) Bool)
 
hnull :: T.R (T.List a) -> T.RefExp -> T.R Bool
gnull pnull p = T.ufun1 anull pnull p hnull
hnull (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p True aTrue
hnull (T.R (T.Cons _ _) _) p
  = T.con0 T.mkNoSrcPos p False aFalse
hnull _ p = T.fatal p
 
glength ::
        T.RefSrcPos -> T.RefExp -> T.R (T.Fun (T.List a) Int)
 
hlength :: T.R (T.List a) -> T.RefExp -> T.R Int
glength plength p = T.ufun1 alength plength p hlength
hlength (T.R T.Nil _) p
  = T.uap1 T.mkNoSrcPos p
      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
      (T.conInteger T.mkNoSrcPos p (0))
hlength (T.R (T.Cons _ fl) _) p
  = T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
      (T.uap1 T.mkNoSrcPos p
         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
         (T.conInteger T.mkNoSrcPos p (1)))
      (T.uwrapForward p (hlength fl p))
hlength _ p = T.fatal p
 
(!!!) ::
      T.RefSrcPos ->
        T.RefExp -> T.R (T.Fun (T.List a) (T.Fun Int a))
 
(*!!) ::
      T.R (T.List a) -> T.R Int -> T.RefExp -> T.R a
(%!!) !!! p = T.ufun2 (+!!) (%!!) p (*!!)
(fxs *!! fn) p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fn
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.uwrapForward p
         (herror
            (T.fromLitString T.mkNoSrcPos p
               "Prelude.!!: negative index")
            p))
      ((>#!!) fxs fn p)
(fxs *!! fn) p = (>#!!) fxs fn p
(T.R T.Nil _ >#!! _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.!!: index too large")
         p)
((^#!!)@(T.R (T.Cons fx _) _) >#!!
   fv1520v11v1520v11n)
  p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
         fv1520v11v1520v11n
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (h1520v1v1520v24n p)
      ((>$!!) (^#!!) fv1520v11v1520v11n p)
  where h1520v1v1520v24n p
          = T.projection T.mkNoSrcPos p fx
        h1520v1v1520v24n p
          = (>$!!) (^#!!) fv1520v11v1520v11n p
((^#!!) >#!! fv1520v11v1520v11n) p
  = (>$!!) (^#!!) fv1520v11v1520v11n p
((T.R (T.Cons _ fxs) _) >$!! fn) p
  = T.uwrapForward p
      ((*!!) fxs
         (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn
            (T.uap1 T.mkNoSrcPos p
               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
               (T.conInteger T.mkNoSrcPos p (1))))
         p)
(_ >$!! _) p = T.fatal p
 
gfoldl ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.Fun a (T.Fun b a))
                (T.Fun a (T.Fun (T.List b) a)))
 
hfoldl ::
       T.R (T.Fun a (T.Fun b a)) ->
         T.R a -> T.R (T.List b) -> T.RefExp -> T.R a
gfoldl pfoldl p = T.ufun3 afoldl pfoldl p hfoldl
hfoldl ff fz (T.R T.Nil _) p
  = T.projection T.mkNoSrcPos p fz
hfoldl ff fz (T.R (T.Cons fx fxs) _) p
  = T.uwrapForward p
      (hfoldl ff (T.uap2 T.mkNoSrcPos p ff fz fx) fxs p)
hfoldl _ _ _ p = T.fatal p
 
gfoldl1 ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a (T.Fun a a)) (T.Fun (T.List a) a))
 
hfoldl1 ::
        T.R (T.Fun a (T.Fun a a)) ->
          T.R (T.List a) -> T.RefExp -> T.R a
gfoldl1 pfoldl1 p = T.ufun2 afoldl1 pfoldl1 p hfoldl1
hfoldl1 ff (T.R (T.Cons fx fxs) _) p
  = T.uwrapForward p (hfoldl ff fx fxs p)
hfoldl1 _ (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.foldl1: empty list")
         p)
hfoldl1 _ _ p = T.fatal p
 
gscanl ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.Fun a (T.Fun b a))
                (T.Fun a (T.Fun (T.List b) (T.List a))))
 
hscanl ::
       T.R (T.Fun a (T.Fun b a)) ->
         T.R a -> T.R (T.List b) -> T.RefExp -> T.R (T.List a)
gscanl pscanl p = T.ufun3 ascanl pscanl p hscanl
hscanl ff fq fxs p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons fq
      (T.uccase T.mkNoSrcPos p
         (let v1547v26v1549v54v1 (T.R T.Nil _) p
                = T.con0 T.mkNoSrcPos p T.Nil T.aNil
              v1547v26v1549v54v1 (T.R (T.Cons fx fxs) _) p
                = T.uwrapForward p
                    (hscanl ff (T.uap2 T.mkNoSrcPos p ff fq fx) fxs p)
              v1547v26v1549v54v1 _ p = T.fatal p
            in v1547v26v1549v54v1)
         fxs)
 
gscanl1 ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a (T.Fun a a))
                 (T.Fun (T.List a) (T.List a)))
 
hscanl1 ::
        T.R (T.Fun a (T.Fun a a)) ->
          T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gscanl1 pscanl1 p = T.ufun2 ascanl1 pscanl1 p hscanl1
hscanl1 ff (T.R (T.Cons fx fxs) _) p
  = T.uwrapForward p (hscanl ff fx fxs p)
hscanl1 _ (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hscanl1 _ _ p = T.fatal p
 
gfoldr ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.Fun a (T.Fun b b))
                (T.Fun b (T.Fun (T.List a) b)))
 
hfoldr ::
       T.R (T.Fun a (T.Fun b b)) ->
         T.R b -> T.R (T.List a) -> T.RefExp -> T.R b
gfoldr pfoldr p = T.ufun3 afoldr pfoldr p hfoldr
hfoldr ff fz (T.R T.Nil _) p
  = T.projection T.mkNoSrcPos p fz
hfoldr ff fz (T.R (T.Cons fx fxs) _) p
  = T.uap2 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      fx
      (T.uwrapForward p (hfoldr ff fz fxs p))
hfoldr _ _ _ p = T.fatal p
 
gfoldr1 ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a (T.Fun a a)) (T.Fun (T.List a) a))
 
hfoldr1 ::
        T.R (T.Fun a (T.Fun a a)) ->
          T.R (T.List a) -> T.RefExp -> T.R a
gfoldr1 pfoldr1 p = T.ufun2 afoldr1 pfoldr1 p hfoldr1
hfoldr1 ff (T.R (T.Cons fx (T.R T.Nil _)) _) p
  = T.projection T.mkNoSrcPos p fx
hfoldr1 ff (T.R (T.Cons fx fxs) _) p
  = T.uap2 T.mkNoSrcPos p
      (T.projection T.mkNoSrcPos p ff)
      fx
      (T.uwrapForward p (hfoldr1 ff fxs p))
hfoldr1 _ (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.foldr1: empty list")
         p)
hfoldr1 _ _ p = T.fatal p
 
gscanr ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.Fun a (T.Fun b b))
                (T.Fun b (T.Fun (T.List a) (T.List b))))
 
hscanr ::
       T.R (T.Fun a (T.Fun b b)) ->
         T.R b -> T.R (T.List a) -> T.RefExp -> T.R (T.List b)
gscanr pscanr p = T.ufun3 ascanr pscanr p hscanr
hscanr ff fq0 (T.R T.Nil _) p
  = T.fromExpList T.mkNoSrcPos p [fq0]
hscanr ff fq0 (T.R (T.Cons fx fxs) _) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons
      (T.uap2 T.mkNoSrcPos p ff fx (gq T.mkNoSrcPos p))
      (gqs T.mkNoSrcPos p)
  where gqs pqs p = T.uconstUse pqs p sqs
        sqs
          = T.uconstDef p c1574v28v1574v51qs
              (\ p -> T.uwrapForward p (hscanr ff fq0 fxs p))
        gq pq p = T.uconstUse pq p sq
        sq
          = T.uconstDef p c1574v28v1574v51q
              (\ _ ->
                 case j1574v28v1574v51q of
                     (kq, fq) -> fq)
        j1574v28v1574v51q
          = case gqs T.mkNoSrcPos p of
                (T.R (T.Cons fq _) kq) -> (kq, fq)
                _ -> T.fatal p
hscanr _ _ _ p = T.fatal p
 
gscanr1 ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.Fun a (T.Fun a a))
                 (T.Fun (T.List a) (T.List a)))
 
hscanr1 ::
        T.R (T.Fun a (T.Fun a a)) ->
          T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gscanr1 pscanr1 p = T.ufun2 ascanr1 pscanr1 p hscanr1
hscanr1 ff (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hscanr1 ff (T.R (T.Cons fx (T.R T.Nil _)) _) p
  = T.fromExpList T.mkNoSrcPos p [fx]
hscanr1 ff (T.R (T.Cons fx fxs) _) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons
      (T.uap2 T.mkNoSrcPos p ff fx (gq T.mkNoSrcPos p))
      (gqs T.mkNoSrcPos p)
  where gqs pqs p = T.uconstUse pqs p sqs
        sqs
          = T.uconstDef p c1581v26v1581v47qs
              (\ p -> T.uwrapForward p (hscanr1 ff fxs p))
        gq pq p = T.uconstUse pq p sq
        sq
          = T.uconstDef p c1581v26v1581v47q
              (\ _ ->
                 case j1581v26v1581v47q of
                     (kq, fq) -> fq)
        j1581v26v1581v47q
          = case gqs T.mkNoSrcPos p of
                (T.R (T.Cons fq _) kq) -> (kq, fq)
                _ -> T.fatal p
hscanr1 _ _ p = T.fatal p
 
giterate ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R (T.Fun (T.Fun a a) (T.Fun a (T.List a)))
 
hiterate ::
         T.R (T.Fun a a) ->
           T.R a -> T.RefExp -> T.R (T.List a)
giterate piterate p
  = T.ufun2 aiterate piterate p hiterate
hiterate ff fx p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
      (T.uwrapForward p
         (hiterate ff (T.uap1 T.mkNoSrcPos p ff fx) p))
 
grepeat ::
        T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (T.List a))
 
hrepeat :: T.R a -> T.RefExp -> T.R (T.List a)
grepeat prepeat p = T.ufun1 arepeat prepeat p hrepeat
hrepeat fx p = gxs T.mkNoSrcPos p
  where gxs pxs p = T.uconstUse pxs p sxs
        sxs
          = T.uconstDef p c1592v30v1592v38xs
              (\ p ->
                 T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
                   (gxs T.mkNoSrcPos p))
 
greplicate ::
           T.RefSrcPos ->
             T.RefExp -> T.R (T.Fun Int (T.Fun a (T.List a)))
 
hreplicate ::
           T.R Int -> T.R a -> T.RefExp -> T.R (T.List a)
greplicate preplicate p
  = T.ufun2 areplicate preplicate p hreplicate
hreplicate fn fx p
  = T.uwrapForward p
      (htake fn (T.uwrapForward p (hrepeat fx p)) p)
 
gcycle ::
       T.RefSrcPos ->
         T.RefExp -> T.R (T.Fun (T.List a) (T.List a))
 
hcycle ::
       T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gcycle pcycle p = T.ufun1 acycle pcycle p hcycle
hcycle (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.cycle: empty list")
         p)
hcycle fxs p = gxs' T.mkNoSrcPos p
  where gxs' pxs' p = T.uconstUse pxs' p sxs'
        sxs'
          = T.uconstDef p c1606v31v1606v45xs'
              (\ p ->
                 T.uwrapForward p ((*++) fxs (gxs' T.mkNoSrcPos p) p))
 
gtake ::
      T.RefSrcPos ->
        T.RefExp ->
          T.R (T.Fun Int (T.Fun (T.List a) (T.List a)))
 
htake ::
      T.R Int ->
        T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gtake ptake p = T.ufun2 atake ptake p htake
htake fn z2take@_ p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fn
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
      (y1take fn z2take p)
htake fn z2take p = y1take fn z2take p
y1take _ (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
y1take fn (T.R (T.Cons fx fxs) _) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
      (T.uwrapForward p
         (htake
            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (1))))
            fxs
            p))
y1take _ _ p = T.fatal p
 
gdrop ::
      T.RefSrcPos ->
        T.RefExp ->
          T.R (T.Fun Int (T.Fun (T.List a) (T.List a)))
 
hdrop ::
      T.R Int ->
        T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gdrop pdrop p = T.ufun2 adrop pdrop p hdrop
hdrop fn fxs p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fn
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.projection T.mkNoSrcPos p fxs)
      (y1drop fn fxs p)
hdrop fn fxs p = y1drop fn fxs p
y1drop _ (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
y1drop fn (T.R (T.Cons _ fxs) _) p
  = T.uwrapForward p
      (hdrop
         (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn
            (T.uap1 T.mkNoSrcPos p
               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
               (T.conInteger T.mkNoSrcPos p (1))))
         fxs
         p)
y1drop _ _ p = T.fatal p
 
gsplitAt ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R
               (T.Fun Int
                  (T.Fun (T.List a) (T.Tuple2 (T.List a) (T.List a))))
 
hsplitAt ::
         T.R Int ->
           T.R (T.List a) ->
             T.RefExp -> T.R (T.Tuple2 (T.List a) (T.List a))
gsplitAt psplitAt p
  = T.ufun2 asplitAt psplitAt p hsplitAt
hsplitAt fn fxs p
  = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
      (T.uwrapForward p (htake fn fxs p))
      (T.uwrapForward p (hdrop fn fxs p))
 
gtakeWhile ::
           T.RefSrcPos ->
             T.RefExp ->
               T.R
                 (T.Fun (T.Fun a Bool) (T.Fun (T.List a) (T.List a)))
 
htakeWhile ::
           T.R (T.Fun a Bool) ->
             T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gtakeWhile ptakeWhile p
  = T.ufun2 atakeWhile ptakeWhile p htakeWhile
htakeWhile fp (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
htakeWhile fp (T.R (T.Cons fx fxs) _) p
  = T.ucguard (T.uap1 T.mkNoSrcPos p fp fx)
      (T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
         (T.uwrapForward p (htakeWhile fp fxs p)))
      (T.ucguard (gotherwise T.mkNoSrcPos p)
         (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
         (T.fatal p))
htakeWhile _ _ p = T.fatal p
 
gdropWhile ::
           T.RefSrcPos ->
             T.RefExp ->
               T.R
                 (T.Fun (T.Fun a Bool) (T.Fun (T.List a) (T.List a)))
 
hdropWhile ::
           T.R (T.Fun a Bool) ->
             T.R (T.List a) -> T.RefExp -> T.R (T.List a)
gdropWhile pdropWhile p
  = T.ufun2 adropWhile pdropWhile p hdropWhile
hdropWhile fp (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hdropWhile fp fxs@(T.R (T.Cons fx fxs') _) p
  = T.ucguard (T.uap1 T.mkNoSrcPos p fp fx)
      (T.uwrapForward p (hdropWhile fp fxs' p))
      (T.ucguard (gotherwise T.mkNoSrcPos p)
         (T.projection T.mkNoSrcPos p fxs)
         (T.fatal p))
hdropWhile _ _ p = T.fatal p
 
gspan, gbreak ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.Fun a Bool)
                (T.Fun (T.List a) (T.Tuple2 (T.List a) (T.List a))))
 
hspan ::
      T.R (T.Fun a Bool) ->
        T.R (T.List a) ->
          T.RefExp -> T.R (T.Tuple2 (T.List a) (T.List a))
 
hbreak ::
       T.R (T.Fun a Bool) ->
         T.RefExp ->
           T.R
             (T.Fun (T.List a) (T.Tuple2 (T.List a) (T.List a)))
gspan pspan p = T.ufun2 aspan pspan p hspan
hspan fp (T.R T.Nil _) p
  = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
      (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
      (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
hspan fp fxs@(T.R (T.Cons fx fxs') _) p
  = T.ucguard (T.uap1 T.mkNoSrcPos p fp fx)
      (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
         (T.con2 T.mkNoSrcPos p T.Cons T.aCons fx
            (gys T.mkNoSrcPos p))
         (gzs T.mkNoSrcPos p))
      (T.ucguard (gotherwise T.mkNoSrcPos p)
         (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
            (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
            fxs)
         (T.fatal p))
  where gys pys p = T.uconstUse pys p sys
        gzs pzs p = T.uconstUse pzs p szs
        sys
          = T.uconstDef p c1654v34v1654v53ys
              (\ _ ->
                 case j1654v34v1654v53ys of
                     (kys, fys, fzs) -> fys)
        szs
          = T.uconstDef p c1654v34v1654v53zs
              (\ _ ->
                 case j1654v34v1654v53ys of
                     (kys, fys, fzs) -> fzs)
        j1654v34v1654v53ys
          = case T.uwrapForward p (hspan fp fxs' p) of
                T.R (T.Tuple2 fys fzs) kys -> (kys, fys, fzs)
                _ -> T.fatal p
hspan _ _ p = T.fatal p
gbreak pbreak p = T.ufun1 abreak pbreak p hbreak
hbreak fp p
  = T.uap1 T.mkNoSrcPos p (gspan T.mkNoSrcPos p)
      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
         (gnot T.mkNoSrcPos p)
         fp)
 
glines ::
       T.RefSrcPos ->
         T.RefExp -> T.R (T.Fun String (T.List String))
 
hlines ::
       T.R String -> T.RefExp -> T.R (T.List String)
glines plines p = T.ufun1 alines plines p hlines
hlines (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hlines fs p
  = let gl pl p = T.uconstUse pl p sl
        gs' ps' p = T.uconstUse ps' p ss'
        sl
          = T.uconstDef p c1668v25v1668v51l
              (\ _ ->
                 case j1668v25v1668v51l of
                     (kl, fl, fs') -> fl)
        ss'
          = T.uconstDef p c1668v25v1668v51s'
              (\ _ ->
                 case j1668v25v1668v51l of
                     (kl, fl, fs') -> fs')
        j1668v25v1668v51l
          = case
              T.uap1 T.mkNoSrcPos p
                (T.uwrapForward p
                   (hbreak
                      (T.uap2 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                         ((!==) T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '\n'))
                      p))
                fs
              of
                T.R (T.Tuple2 fl fs') kl -> (kl, fl, fs')
                _ -> T.fatal p
      in
      T.con2 T.mkNoSrcPos p T.Cons T.aCons
        (gl T.mkNoSrcPos p)
        (T.uccase T.mkNoSrcPos p
           (let v1669v31v1674v0v1 (T.R T.Nil _) p
                  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
                v1669v31v1674v0v1 (T.R (T.Cons _ fs'') _) p
                  = T.uwrapForward p (hlines fs'' p)
                v1669v31v1674v0v1 _ p = T.fatal p
              in v1669v31v1674v0v1)
           (gs' T.mkNoSrcPos p))
 
gwords ::
       T.RefSrcPos ->
         T.RefExp -> T.R (T.Fun String (T.List String))
 
hwords ::
       T.R String -> T.RefExp -> T.R (T.List String)
gwords pwords p = T.ufun1 awords pwords p hwords
hwords fs p
  = T.uccase T.mkNoSrcPos p
      (let v1675v21v1681v0v1 (T.R T.Nil _) p
             = T.con0 T.mkNoSrcPos p T.Nil T.aNil
           v1675v21v1681v0v1 fs' p
             = T.con2 T.mkNoSrcPos p T.Cons T.aCons
                 (gw T.mkNoSrcPos p)
                 (T.uwrapForward p (hwords (gs'' T.mkNoSrcPos p) p))
             where gw pw p = T.uconstUse pw p sw
                   gs'' ps'' p = T.uconstUse ps'' p ss''
                   sw
                     = T.uconstDef p c1678v35v1678v61w
                         (\ _ ->
                            case j1678v35v1678v61w of
                                (kw, fw, fs'') -> fw)
                   ss''
                     = T.uconstDef p c1678v35v1678v61s''
                         (\ _ ->
                            case j1678v35v1678v61w of
                                (kw, fw, fs'') -> fs'')
                   j1678v35v1678v61w
                     = case
                         T.uap1 T.mkNoSrcPos p
                           (T.uwrapForward p
                              (hbreak (gisSpace T.mkNoSrcPos p) p))
                           fs'
                         of
                           T.R (T.Tuple2 fw fs'') kw -> (kw, fw, fs'')
                           _ -> T.fatal p
         in v1675v21v1681v0v1)
      (T.uwrapForward p
         (hdropWhile (gisSpace T.mkNoSrcPos p) fs p))
 
gunlines ::
         T.RefSrcPos ->
           T.RefExp -> T.R (T.Fun (T.List String) String)
 
sunlines :: T.R (T.Fun (T.List String) String)
gunlines punlines p = T.uconstUse punlines p sunlines
sunlines
  = T.uconstDef p aunlines
      (\ p ->
         T.uwrapForward p
           (hconcatMap
              (T.uap2 T.mkNoSrcPos p
                 (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
                 ((!++) T.mkNoSrcPos p)
                 (T.fromLitString T.mkNoSrcPos p "\n"))
              p))
 
gunwords ::
         T.RefSrcPos ->
           T.RefExp -> T.R (T.Fun (T.List String) String)
 
hunwords ::
         T.R (T.List String) -> T.RefExp -> T.R String
gunwords punwords p
  = T.ufun1 aunwords punwords p hunwords
hunwords (T.R T.Nil _) p
  = T.fromLitString T.mkNoSrcPos p ""
hunwords fws p
  = T.uwrapForward p
      (hfoldr1
         (T.ufun2 T.mkLambda T.mkNoSrcPos p
            (\ fw fs p ->
               T.uwrapForward p
                 ((*++) fw
                    (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                       (T.conChar T.mkNoSrcPos p ' ')
                       fs)
                    p)))
         fws
         p)
 
greverse ::
         T.RefSrcPos ->
           T.RefExp -> T.R (T.Fun (T.List a) (T.List a))
 
sreverse :: T.R (T.Fun (T.List a) (T.List a))
greverse preverse p = T.uconstUse preverse p sreverse
sreverse
  = T.uconstDef p areverse
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldl T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p (gflip T.mkNoSrcPos p)
              (T.pa0 T.Cons T.cn2 T.mkNoSrcPos p T.aCons))
           (T.con0 T.mkNoSrcPos p T.Nil T.aNil))
 
gand, gor ::
      T.RefSrcPos ->
        T.RefExp -> T.R (T.Fun (T.List Bool) Bool)
 
sand, sor :: T.R (T.Fun (T.List Bool) Bool)
gand pand p = T.uconstUse pand p sand
sand
  = T.uconstDef p aand
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldr T.mkNoSrcPos p)
           ((!&&) T.mkNoSrcPos p)
           (T.con0 T.mkNoSrcPos p True aTrue))
gor por p = T.uconstUse por p sor
sor
  = T.uconstDef p aor
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldr T.mkNoSrcPos p)
           ((!||) T.mkNoSrcPos p)
           (T.con0 T.mkNoSrcPos p False aFalse))
 
gany, gall ::
      T.RefSrcPos ->
        T.RefExp ->
          T.R (T.Fun (T.Fun a Bool) (T.Fun (T.List a) Bool))
 
hany ::
     T.R (T.Fun a Bool) ->
       T.RefExp -> T.R (T.Fun (T.List a) Bool)
 
hall ::
     T.R (T.Fun a Bool) ->
       T.RefExp -> T.R (T.Fun (T.List a) Bool)
gany pany p = T.ufun1 aany pany p hany
hany fp p
  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
      (gor T.mkNoSrcPos p)
      (T.uap1 T.mkNoSrcPos p (gmap T.mkNoSrcPos p) fp)
gall pall p = T.ufun1 aall pall p hall
hall fp p
  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
      (gand T.mkNoSrcPos p)
      (T.uap1 T.mkNoSrcPos p (gmap T.mkNoSrcPos p) fp)
 
gelem, gnotElem ::
         (Eq a) =>
         T.RefSrcPos ->
           T.RefExp -> T.R (T.Fun a (T.Fun (T.List a) Bool))
 
helem ::
        (Eq a) =>
        T.R a -> T.RefExp -> T.R (T.Fun (T.List a) Bool)
 
hnotElem ::
           (Eq a) =>
           T.R a -> T.RefExp -> T.R (T.Fun (T.List a) Bool)
gelem pelem p = T.ufun1 aelem pelem p helem
helem fx p
  = T.uwrapForward p
      (hany
         (T.uap2 T.mkNoSrcPos p
            (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
            ((!==) T.mkNoSrcPos p)
            fx)
         p)
gnotElem pnotElem p
  = T.ufun1 anotElem pnotElem p hnotElem
hnotElem fx p
  = T.uwrapForward p
      (hall
         (T.uap2 T.mkNoSrcPos p
            (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
            ((!/=) T.mkNoSrcPos p)
            fx)
         p)
 
glookup ::
          (Eq a) =>
          T.RefSrcPos ->
            T.RefExp ->
              T.R
                (T.Fun a (T.Fun (T.List (T.Tuple2 a b)) (Maybe b)))
 
hlookup ::
          (Eq a) =>
          T.R a ->
            T.R (T.List (T.Tuple2 a b)) ->
              T.RefExp -> T.R (Maybe b)
glookup plookup p = T.ufun2 alookup plookup p hlookup
hlookup fkey (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p Nothing aNothing
hlookup fkey
  (T.R (T.Cons (T.R (T.Tuple2 fx fy) _) fxys) _) p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fkey
         fx)
      (T.con1 T.mkNoSrcPos p Just aJust fy)
      (T.ucguard (gotherwise T.mkNoSrcPos p)
         (T.uwrapForward p (hlookup fkey fxys p))
         (T.fatal p))
hlookup _ _ p = T.fatal p
 
gsum, gproduct ::
        (Num a) =>
        T.RefSrcPos -> T.RefExp -> T.R (T.Fun (T.List a) a)
 
ssum, sproduct :: (Num a) => T.R (T.Fun (T.List a) a)
gsum psum p = T.uconstUse psum p ssum
ssum
  = T.uconstDef p asum
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldl T.mkNoSrcPos p)
           ((!+) T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (0))))
gproduct pproduct p = T.uconstUse pproduct p sproduct
sproduct
  = T.uconstDef p aproduct
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldl T.mkNoSrcPos p)
           ((!*) T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (1))))
 
gmaximum, gminimum ::
            (Ord a) =>
            T.RefSrcPos -> T.RefExp -> T.R (T.Fun (T.List a) a)
 
hmaximum ::
           (Ord a) => T.R (T.List a) -> T.RefExp -> T.R a
 
hminimum ::
           (Ord a) => T.R (T.List a) -> T.RefExp -> T.R a
gmaximum pmaximum p
  = T.ufun1 amaximum pmaximum p hmaximum
hmaximum (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.maximum: empty list")
         p)
hmaximum fxs p
  = T.uwrapForward p
      (hfoldl1 (gmax T.mkNoSrcPos p) fxs p)
gminimum pminimum p
  = T.ufun1 aminimum pminimum p hminimum
hminimum (T.R T.Nil _) p
  = T.uwrapForward p
      (herror
         (T.fromLitString T.mkNoSrcPos p
            "Prelude.minimum: empty list")
         p)
hminimum fxs p
  = T.uwrapForward p
      (hfoldl1 (gmin T.mkNoSrcPos p) fxs p)
 
gconcatMap ::
           T.RefSrcPos ->
             T.RefExp ->
               T.R
                 (T.Fun (T.Fun a (T.List b))
                    (T.Fun (T.List a) (T.List b)))
 
hconcatMap ::
           T.R (T.Fun a (T.List b)) ->
             T.RefExp -> T.R (T.Fun (T.List a) (T.List b))
gconcatMap pconcatMap p
  = T.ufun1 aconcatMap pconcatMap p hconcatMap
hconcatMap ff p
  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
      (gconcat T.mkNoSrcPos p)
      (T.uap1 T.mkNoSrcPos p (gmap T.mkNoSrcPos p) ff)
 
gzip ::
     T.RefSrcPos ->
       T.RefExp ->
         T.R
           (T.Fun (T.List a)
              (T.Fun (T.List b) (T.List (T.Tuple2 a b))))
 
szip ::
     T.R
       (T.Fun (T.List a)
          (T.Fun (T.List b) (T.List (T.Tuple2 a b))))
gzip pzip p = T.uconstUse pzip p szip
szip
  = T.uconstDef p azip
      (\ p ->
         T.uap1 T.mkNoSrcPos p (gzipWith T.mkNoSrcPos p)
           (T.pa0 T.Tuple2 T.cn2 T.mkNoSrcPos p T.aTuple2))
 
gzip3 ::
      T.RefSrcPos ->
        T.RefExp ->
          T.R
            (T.Fun (T.List a)
               (T.Fun (T.List b)
                  (T.Fun (T.List c) (T.List (T.Tuple3 a b c)))))
 
szip3 ::
      T.R
        (T.Fun (T.List a)
           (T.Fun (T.List b)
              (T.Fun (T.List c) (T.List (T.Tuple3 a b c)))))
gzip3 pzip3 p = T.uconstUse pzip3 p szip3
szip3
  = T.uconstDef p azip3
      (\ p ->
         T.uap1 T.mkNoSrcPos p (gzipWith3 T.mkNoSrcPos p)
           (T.pa0 T.Tuple3 T.cn3 T.mkNoSrcPos p T.aTuple3))
 
gzipWith ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R
               (T.Fun (T.Fun a (T.Fun b c))
                  (T.Fun (T.List a) (T.Fun (T.List b) (T.List c))))
 
hzipWith ::
         T.R (T.Fun a (T.Fun b c)) ->
           T.R (T.List a) ->
             T.R (T.List b) -> T.RefExp -> T.R (T.List c)
gzipWith pzipWith p
  = T.ufun3 azipWith pzipWith p hzipWith
hzipWith fz (T.R (T.Cons fa fas) _)
  (T.R (T.Cons fb fbs) _) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons
      (T.uap2 T.mkNoSrcPos p fz fa fb)
      (T.uwrapForward p (hzipWith fz fas fbs p))
hzipWith _ _ _ p = T.con0 T.mkNoSrcPos p T.Nil T.aNil
 
gzipWith3 ::
          T.RefSrcPos ->
            T.RefExp ->
              T.R
                (T.Fun (T.Fun a (T.Fun b (T.Fun c d)))
                   (T.Fun (T.List a)
                      (T.Fun (T.List b) (T.Fun (T.List c) (T.List d)))))
 
hzipWith3 ::
          T.R (T.Fun a (T.Fun b (T.Fun c d))) ->
            T.R (T.List a) ->
              T.R (T.List b) ->
                T.R (T.List c) -> T.RefExp -> T.R (T.List d)
gzipWith3 pzipWith3 p
  = T.ufun4 azipWith3 pzipWith3 p hzipWith3
hzipWith3 fz (T.R (T.Cons fa fas) _)
  (T.R (T.Cons fb fbs) _) (T.R (T.Cons fc fcs) _) p
  = T.con2 T.mkNoSrcPos p T.Cons T.aCons
      (T.uap3 T.mkNoSrcPos p fz fa fb fc)
      (T.uwrapForward p (hzipWith3 fz fas fbs fcs p))
hzipWith3 _ _ _ _ p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
 
gunzip ::
       T.RefSrcPos ->
         T.RefExp ->
           T.R
             (T.Fun (T.List (T.Tuple2 a b))
                (T.Tuple2 (T.List a) (T.List b)))
 
sunzip ::
       T.R
         (T.Fun (T.List (T.Tuple2 a b))
            (T.Tuple2 (T.List a) (T.List b)))
gunzip punzip p = T.uconstUse punzip p sunzip
sunzip
  = T.uconstDef p aunzip
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldr T.mkNoSrcPos p)
           (T.ufun2 T.mkLambda T.mkNoSrcPos p
              (\ (T.R (T.Tuple2 fa fb) _)
                 (T.R ~(T.Tuple2 fas fbs) _) p ->
                 T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons fa fas)
                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons fb fbs)))
           (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
              (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
              (T.con0 T.mkNoSrcPos p T.Nil T.aNil)))
 
gunzip3 ::
        T.RefSrcPos ->
          T.RefExp ->
            T.R
              (T.Fun (T.List (T.Tuple3 a b c))
                 (T.Tuple3 (T.List a) (T.List b) (T.List c)))
 
sunzip3 ::
        T.R
          (T.Fun (T.List (T.Tuple3 a b c))
             (T.Tuple3 (T.List a) (T.List b) (T.List c)))
gunzip3 punzip3 p = T.uconstUse punzip3 p sunzip3
sunzip3
  = T.uconstDef p aunzip3
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gfoldr T.mkNoSrcPos p)
           (T.ufun2 T.mkLambda T.mkNoSrcPos p
              (\ (T.R (T.Tuple3 fa fb fc) _)
                 (T.R ~(T.Tuple3 fas fbs fcs) _) p ->
                 T.con3 T.mkNoSrcPos p T.Tuple3 T.aTuple3
                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons fa fas)
                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons fb fbs)
                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons fc fcs)))
           (T.con3 T.mkNoSrcPos p T.Tuple3 T.aTuple3
              (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
              (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
              (T.con0 T.mkNoSrcPos p T.Nil T.aNil)))
 
type ReadS a =
     T.Fun String (T.List (T.Tuple2 a String))
 
type ReadS___1 a = String
 
type ReadS___2 a = T.List (T.Tuple2 a String)
 
type ShowS = T.Fun String String
 
type ShowS___1 = String
 
type ShowS___2 = String
 
class Read a where
         
        greadsPrec ::
                   T.RefSrcPos -> T.RefExp -> T.R (T.Fun Int (ReadS a))
         
        sreadsPrec :: T.R (T.Fun Int (ReadS a))
        sreadsPrec
          = Hat.PreludeBasic.gundefined T.mkNoSrcPos p
         
        greadList ::
                  T.RefSrcPos -> T.RefExp -> T.R (ReadS (T.List a))
         
        sreadList :: T.R (ReadS (T.List a))
        greadList preadList p
          = T.uconstUse preadList p sreadList
        sreadList
          = T.uconstDef p c1810v5v1812v28readList
              (\ p ->
                 let greadl preadl p
                       = T.ufun1 c1812v30v1814v73readl preadl p hreadl
                     areadl = c1812v30v1814v73readl
                     hreadl fs p
                       = T.uwrapForward p
                           ((*++)
                              (T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fs p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv1812v53v1812v63v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v1812v53v1812v63v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R ']' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      ft)
                                                   _)
                                                p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.greturn
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.con2 T.mkNoSrcPos p
                                                       T.Tuple2
                                                       T.aTuple2
                                                       (T.con0 T.mkNoSrcPos p
                                                          T.Nil
                                                          T.aNil)
                                                       ft)
                                              v1812v53v1812v63v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v1812v53v1812v63v1)
                                         fv1812v53v1812v63v1)))
                              (T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p (greads T.mkNoSrcPos p)
                                    fs)
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ (T.R (T.Tuple2 fx ft) _) p ->
                                       T.uap2 T.mkNoSrcPos p
                                         ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos
                                            p)
                                         (T.uwrapForward p (hreadl' ft p))
                                         (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                            (\ (T.R (T.Tuple2 fxs fu) _) p ->
                                               T.uap1 T.mkNoSrcPos p
                                                 (Hat.PreludeBasic.greturn
                                                    T.mkNoSrcPos
                                                    p)
                                                 (T.con2 T.mkNoSrcPos p T.Tuple2
                                                    T.aTuple2
                                                    (T.con2 T.mkNoSrcPos p
                                                       T.Cons
                                                       T.aCons
                                                       fx
                                                       fxs)
                                                    fu))))))
                              p)
                     greadl' preadl' p
                       = T.ufun1 c1815v30v1818v73readl' preadl' p hreadl'
                     areadl' = c1815v30v1818v73readl'
                     hreadl' fs p
                       = T.uwrapForward p
                           ((*++)
                              (T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fs p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv1815v53v1815v63v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v1815v53v1815v63v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R ']' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      ft)
                                                   _)
                                                p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.greturn
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.con2 T.mkNoSrcPos p
                                                       T.Tuple2
                                                       T.aTuple2
                                                       (T.con0 T.mkNoSrcPos p
                                                          T.Nil
                                                          T.aNil)
                                                       ft)
                                              v1815v53v1815v63v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v1815v53v1815v63v1)
                                         fv1815v53v1815v63v1)))
                              (T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fs p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv1816v53v1816v63v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v1816v53v1816v63v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R ',' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      ft)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       ft)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R (T.Tuple2 fx fu)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hreadl' fu p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ (T.R
                                                                     (T.Tuple2
                                                                        fxs fv)
                                                                     _)
                                                                  p ->
                                                                  T.uap1
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (Hat.PreludeBasic.greturn
                                                                       T.mkNoSrcPos
                                                                       p)
                                                                    (T.con2
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       T.Tuple2
                                                                       T.aTuple2
                                                                       (T.con2
                                                                          T.mkNoSrcPos
                                                                          p
                                                                          T.Cons
                                                                          T.aCons
                                                                          fx
                                                                          fxs)
                                                                       fv)))))
                                              v1816v53v1816v63v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v1816v53v1816v63v1)
                                         fv1816v53v1816v63v1)))
                              p)
                   in
                   T.uwrapForward p
                     (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                        (T.ufun1 T.mkLambda T.mkNoSrcPos p
                           (\ fr p ->
                              T.uap2 T.mkNoSrcPos p
                                ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                (T.uwrapForward p (hlex fr p))
                                (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                   (\ fv1810v53v1810v63v1 p ->
                                      T.uccase T.mkNoSrcPos p
                                        (let v1810v53v1810v63v1
                                               (T.R
                                                  (T.Tuple2
                                                     (T.R
                                                        (T.Cons (T.R '[' _)
                                                           (T.R T.Nil _))
                                                        _)
                                                     fs)
                                                  _)
                                               p
                                               = T.uap2 T.mkNoSrcPos p
                                                   ((Hat.PreludeBasic.!>>=)
                                                      T.mkNoSrcPos
                                                      p)
                                                   (T.uwrapForward p
                                                      (hreadl fs p))
                                                   (T.ufun1 T.mkDoLambda
                                                      T.mkNoSrcPos
                                                      p
                                                      (\ fpr p ->
                                                         T.uap1 T.mkNoSrcPos p
                                                           (Hat.PreludeBasic.greturn
                                                              T.mkNoSrcPos
                                                              p)
                                                           fpr))
                                             v1810v53v1810v63v1 _ p
                                               = T.uap1 T.mkNoSrcPos p
                                                   (Hat.PreludeBasic.gfail
                                                      T.mkNoSrcPos
                                                      p)
                                                   (T.fromLitString T.mkNoSrcPos
                                                      p
                                                      "pattern-match failure in do-expression")
                                           in v1810v53v1810v63v1)
                                        fv1810v53v1810v63v1))))
                        p))
 
class Show a where
         
        gshowsPrec ::
                   T.RefSrcPos ->
                     T.RefExp -> T.R (T.Fun Int (T.Fun a ShowS))
         
        sshowsPrec :: T.R (T.Fun Int (T.Fun a ShowS))
         
        gshow ::
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun a String)
         
        sshow :: T.R (T.Fun a String)
         
        gshowList ::
                  T.RefSrcPos ->
                    T.RefExp -> T.R (T.Fun (T.List a) ShowS)
         
        sshowList :: T.R (T.Fun (T.List a) ShowS)
        gshowsPrec pshowsPrec p
          = T.ufun3 c1828v5v1828v35showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec _ fx fs p
                  = T.uwrapForward p
                      ((*++)
                         (T.uap1 T.mkNoSrcPos p (gshow T.mkNoSrcPos p) fx)
                         fs
                         p)
        gshow pshow p
          = T.ufun1 c1830v5v1830v36show pshow p hshow
          where hshow fx p
                  = T.uap3 T.mkNoSrcPos p (gshowsPrec T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0)))
                      fx
                      (T.fromLitString T.mkNoSrcPos p "")
        gshowList pshowList p
          = T.ufun1 c1832v5v1838v0showList pshowList p
              hshowList
          where hshowList (T.R T.Nil _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "[]")
                hshowList (T.R (T.Cons fx fxs) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '['))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uwrapForward p (hshowl fxs p)))
                  where gshowl pshowl p
                          = T.ufun1 c1834v31v1836v53showl pshowl p hshowl
                        ashowl = c1834v31v1836v53showl
                        hshowl (T.R T.Nil _) p
                          = T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                              (T.conChar T.mkNoSrcPos p ']')
                        hshowl (T.R (T.Cons fx fxs) _) p
                          = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                              (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                                 (T.conChar T.mkNoSrcPos p ','))
                              (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                    fx)
                                 (T.uwrapForward p (hshowl fxs p)))
                        hshowl _ p = T.fatal p
                hshowList _ p = T.fatal p
 
greads ::
         (Read a) => T.RefSrcPos -> T.RefExp -> T.R (ReadS a)
 
sreads :: (Read a) => T.R (ReadS a)
greads preads p = T.uconstUse preads p sreads
sreads
  = T.uconstDef p areads
      (\ p ->
         T.uap1 T.mkNoSrcPos p (greadsPrec T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (0))))
 
gshows ::
         (Show a) =>
         T.RefSrcPos -> T.RefExp -> T.R (T.Fun a ShowS)
 
sshows :: (Show a) => T.R (T.Fun a ShowS)
gshows pshows p = T.uconstUse pshows p sshows
sshows
  = T.uconstDef p ashows
      (\ p ->
         T.uap1 T.mkNoSrcPos p (gshowsPrec T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (0))))
 
gread ::
        (Read a) =>
        T.RefSrcPos -> T.RefExp -> T.R (T.Fun String a)
 
hread :: (Read a) => T.R String -> T.RefExp -> T.R a
gread pread p = T.ufun1 aread pread p hread
hread fs p
  = T.uccase T.mkNoSrcPos p
      (let v1847v21v1853v0v1
             (T.R (T.Cons fx (T.R T.Nil _)) _) p
             = T.projection T.mkNoSrcPos p fx
           v1847v21v1853v0v1 (T.R T.Nil _) p
             = T.uwrapForward p
                 (herror
                    (T.fromLitString T.mkNoSrcPos p
                       "Prelude.read: no parse")
                    p)
           v1847v21v1853v0v1 _ p
             = T.uwrapForward p
                 (herror
                    (T.fromLitString T.mkNoSrcPos p
                       "Prelude.read: ambiguous parse")
                    p)
         in v1847v21v1853v0v1)
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
         (T.uap1 T.mkNoSrcPos p (greads T.mkNoSrcPos p) fs)
         (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
            (\ (T.R (T.Tuple2 fx ft) _) p ->
               T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                 (T.uwrapForward p (hlex ft p))
                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                    (\ fv1847v49v1847v58v1 p ->
                       T.uccase T.mkNoSrcPos p
                         (let v1847v49v1847v58v1
                                (T.R (T.Tuple2 (T.R T.Nil _) (T.R T.Nil _)) _) p
                                = T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                                    fx
                              v1847v49v1847v58v1 _ p
                                = T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                    (T.fromLitString T.mkNoSrcPos p
                                       "pattern-match failure in do-expression")
                            in v1847v49v1847v58v1)
                         fv1847v49v1847v58v1)))))
 
gshowChar ::
          T.RefSrcPos -> T.RefExp -> T.R (T.Fun Char ShowS)
 
sshowChar :: T.R (T.Fun Char ShowS)
gshowChar pshowChar p
  = T.uconstUse pshowChar p sshowChar
sshowChar
  = T.uconstDef p ashowChar
      (\ p -> T.pa0 T.Cons T.cn2 T.mkNoSrcPos p T.aCons)
 
gshowString ::
            T.RefSrcPos -> T.RefExp -> T.R (T.Fun String ShowS)
 
sshowString :: T.R (T.Fun String ShowS)
gshowString pshowString p
  = T.uconstUse pshowString p sshowString
sshowString
  = T.uconstDef p ashowString
      (\ p -> (!++) T.mkNoSrcPos p)
 
gshowParen ::
           T.RefSrcPos ->
             T.RefExp -> T.R (T.Fun Bool (T.Fun ShowS ShowS))
 
hshowParen ::
           T.R Bool -> T.R ShowS -> T.RefExp -> T.R ShowS
gshowParen pshowParen p
  = T.ufun2 ashowParen pshowParen p hshowParen
hshowParen fb fp p
  = T.ucif p fb
      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
         (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
            (T.conChar T.mkNoSrcPos p '('))
         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p) fp
            (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
               (T.conChar T.mkNoSrcPos p ')'))))
      (T.projection T.mkNoSrcPos p fp)
 
greadParen ::
           T.RefSrcPos ->
             T.RefExp ->
               T.R (T.Fun Bool (T.Fun (ReadS a) (ReadS a)))
 
hreadParen ::
           T.R Bool ->
             T.R (ReadS a) -> T.RefExp -> T.R (ReadS a)
greadParen preadParen p
  = T.ufun2 areadParen preadParen p hreadParen
hreadParen fb fg p
  = T.ucif p fb (gmandatory T.mkNoSrcPos p)
      (goptional T.mkNoSrcPos p)
  where goptional poptional p
          = T.ufun1 c1867v27v1867v58optional poptional p
              hoptional
        aoptional = c1867v27v1867v58optional
        hoptional fr p
          = T.uwrapForward p
              ((*++) (T.uap1 T.mkNoSrcPos p fg fr)
                 (T.uwrapForward p (hmandatory fr p))
                 p)
        gmandatory pmandatory p
          = T.ufun1 c1868v27v1870v70mandatory pmandatory p
              hmandatory
        amandatory = c1868v27v1870v70mandatory
        hmandatory fr p
          = T.uap2 T.mkNoSrcPos p
              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
              (T.uwrapForward p (hlex fr p))
              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                 (\ fv1868v50v1868v59v1 p ->
                    T.uccase T.mkNoSrcPos p
                      (let v1868v50v1868v59v1
                             (T.R
                                (T.Tuple2
                                   (T.R (T.Cons (T.R '(' _) (T.R T.Nil _)) _)
                                   fs)
                                _)
                             p
                             = T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hoptional fs p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ (T.R (T.Tuple2 fx ft) _) p ->
                                       T.uap2 T.mkNoSrcPos p
                                         ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos
                                            p)
                                         (T.uwrapForward p (hlex ft p))
                                         (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                            (\ fv1870v50v1870v59v1 p ->
                                               T.uccase T.mkNoSrcPos p
                                                 (let v1870v50v1870v59v1
                                                        (T.R
                                                           (T.Tuple2
                                                              (T.R
                                                                 (T.Cons
                                                                    (T.R ')' _)
                                                                    (T.R T.Nil
                                                                       _))
                                                                 _)
                                                              fu)
                                                           _)
                                                        p
                                                        = T.uap1 T.mkNoSrcPos p
                                                            (Hat.PreludeBasic.greturn
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.con2 T.mkNoSrcPos
                                                               p
                                                               T.Tuple2
                                                               T.aTuple2
                                                               fx
                                                               fu)
                                                      v1870v50v1870v59v1 _ p
                                                        = T.uap1 T.mkNoSrcPos p
                                                            (Hat.PreludeBasic.gfail
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.fromLitString
                                                               T.mkNoSrcPos
                                                               p
                                                               "pattern-match failure in do-expression")
                                                    in v1870v50v1870v59v1)
                                                 fv1870v50v1870v59v1))))
                           v1868v50v1868v59v1 _ p
                             = T.uap1 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                 (T.fromLitString T.mkNoSrcPos p
                                    "pattern-match failure in do-expression")
                         in v1868v50v1868v59v1)
                      fv1868v50v1868v59v1))
 
glex :: T.RefSrcPos -> T.RefExp -> T.R (ReadS String)
 
hlex ::
     T.R (ReadS___1 String) ->
       T.RefExp -> T.R (ReadS___2 String)
glex plex p = T.ufun1 alex plex p hlex
hlex (T.R T.Nil _) p
  = T.fromExpList T.mkNoSrcPos p
      [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
         (T.fromLitString T.mkNoSrcPos p "")
         (T.fromLitString T.mkNoSrcPos p "")]
hlex z1lex@(T.R (T.Cons fc fs) _) p
  = T.ucguard (T.uwrapForward p (hisSpace fc p))
      (T.uwrapForward p
         (hlex
            (T.uwrapForward p
               (hdropWhile (gisSpace T.mkNoSrcPos p) fs p))
            p))
      (y1lex z1lex p)
hlex z1lex p = y1lex z1lex p
y1lex (T.R (T.Cons (T.R '\'' _) fs) _) p
  = T.uap2 T.mkNoSrcPos p
      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
      (T.uwrapForward p (hlexLitChar fs p))
      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
         (\ fv1883v42v1883v56v1 p ->
            T.uccase T.mkNoSrcPos p
              (let v1883v42v1883v56v1
                     (T.R (T.Tuple2 fch (T.R (T.Cons (T.R '\'' _) ft) _))
                        _)
                     p
                     = T.uap2 T.mkNoSrcPos p
                         ((Hat.PreludeBasic.!>>) T.mkNoSrcPos p)
                         (T.uwrapForward p
                            (Hat.PreludeBasic.hguard
                               (T.uap2 T.mkNoSrcPos p ((!/=) T.mkNoSrcPos p) fch
                                  (T.fromLitString T.mkNoSrcPos p "'"))
                               p))
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                            (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                               (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                                  (T.conChar T.mkNoSrcPos p '\'')
                                  (T.uwrapForward p
                                     ((*++) fch
                                        (T.fromLitString T.mkNoSrcPos p "'")
                                        p)))
                               ft))
                   v1883v42v1883v56v1 _ p
                     = T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                         (T.fromLitString T.mkNoSrcPos p
                            "pattern-match failure in do-expression")
                 in v1883v42v1883v56v1)
              fv1883v42v1883v56v1))
y1lex (T.R (T.Cons (T.R '"' _) fs) _) p
  = T.uap2 T.mkNoSrcPos p
      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
      (T.uwrapForward p (hlexString fs p))
      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
         (\ (T.R (T.Tuple2 fstr ft) _) p ->
            T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
              (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                    (T.conChar T.mkNoSrcPos p '"')
                    fstr)
                 ft)))
  where glexString plexString p
          = T.ufun1 c1887v21v1890v68lexString plexString p
              hlexString
        alexString = c1887v21v1890v68lexString
        hlexString (T.R (T.Cons (T.R '"' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.fromLitString T.mkNoSrcPos p "\"")
                 fs]
        hlexString fs p
          = T.uap2 T.mkNoSrcPos p
              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
              (T.uwrapForward p (hlexStrItem fs p))
              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                 (\ (T.R (T.Tuple2 fch ft) _) p ->
                    T.uap2 T.mkNoSrcPos p
                      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                      (T.uwrapForward p (hlexString ft p))
                      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                         (\ (T.R (T.Tuple2 fstr fu) _) p ->
                            T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                              (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                 (T.uwrapForward p ((*++) fch fstr p))
                                 fu)))))
        glexStrItem plexStrItem p
          = T.ufun1 c1892v21v1897v58lexStrItem plexStrItem p
              hlexStrItem
        alexStrItem = c1892v21v1897v58lexStrItem
        hlexStrItem
          (T.R
             (T.Cons (T.R '\\' _) (T.R (T.Cons (T.R '&' _) fs) _))
             _)
          p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.fromLitString T.mkNoSrcPos p "\\&")
                 fs]
        hlexStrItem
          z1lexStrItem@(T.R
                          (T.Cons (T.R '\\' _) (T.R (T.Cons fc fs) _)) _)
          p
          = T.ucguard (T.uwrapForward p (hisSpace fc p))
              (T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                 (T.fromExpList T.mkNoSrcPos p
                    [T.uwrapForward p
                       (hdropWhile (gisSpace T.mkNoSrcPos p) fs p)])
                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                    (\ fv1895v48v1895v56v1 p ->
                       T.uccase T.mkNoSrcPos p
                         (let v1895v48v1895v56v1
                                (T.R (T.Cons (T.R '\\' _) ft) _) p
                                = T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                                    (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                       (T.fromLitString T.mkNoSrcPos p "\\&")
                                       ft)
                              v1895v48v1895v56v1 _ p
                                = T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                    (T.fromLitString T.mkNoSrcPos p
                                       "pattern-match failure in do-expression")
                            in v1895v48v1895v56v1)
                         fv1895v48v1895v56v1)))
              (y1lexStrItem z1lexStrItem p)
        hlexStrItem z1lexStrItem p
          = y1lexStrItem z1lexStrItem p
        y1lexStrItem fs p
          = T.uwrapForward p (hlexLitChar fs p)
y1lex (T.R (T.Cons fc fs) _) p
  = T.ucguard (T.uwrapForward p (hisSingle fc p))
      (T.fromExpList T.mkNoSrcPos p
         [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
            (T.fromExpList T.mkNoSrcPos p [fc])
            fs])
      (T.ucguard (T.uwrapForward p (hisSym fc p))
         (T.uap2 T.mkNoSrcPos p
            ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
            (T.fromExpList T.mkNoSrcPos p
               [T.uwrapForward p
                  (hspan (gisSym T.mkNoSrcPos p) fs p)])
            (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
               (\ (T.R (T.Tuple2 fsym ft) _) p ->
                  T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                    (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                       (T.con2 T.mkNoSrcPos p T.Cons T.aCons fc fsym)
                       ft))))
         (T.ucguard (T.uwrapForward p (hisAlpha fc p))
            (T.uap2 T.mkNoSrcPos p
               ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
               (T.fromExpList T.mkNoSrcPos p
                  [T.uwrapForward p
                     (hspan (gisIdChar T.mkNoSrcPos p) fs p)])
               (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                  (\ (T.R (T.Tuple2 fnam ft) _) p ->
                     T.uap1 T.mkNoSrcPos p
                       (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                       (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                          (T.con2 T.mkNoSrcPos p T.Cons T.aCons fc fnam)
                          ft))))
            (T.ucguard (T.uwrapForward p (hisDigit fc p))
               (T.uap2 T.mkNoSrcPos p
                  ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                  (T.fromExpList T.mkNoSrcPos p
                     [T.uwrapForward p
                        (hspan (gisDigit T.mkNoSrcPos p) fs p)])
                  (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                     (\ (T.R (T.Tuple2 fds fs) _) p ->
                        T.uap2 T.mkNoSrcPos p
                          ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                          (T.uwrapForward p (hlexFracExp fs p))
                          (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                             (\ (T.R (T.Tuple2 ffe ft) _) p ->
                                T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                                  (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                     (T.con2 T.mkNoSrcPos p T.Cons T.aCons fc
                                        (T.uwrapForward p ((*++) fds ffe p)))
                                     ft))))))
               (T.ucguard (gotherwise T.mkNoSrcPos p)
                  (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
                  (T.fatal p)))))
  where gisSingle pisSingle p
          = T.ufun1 c1906v15v1906v49isSingle pisSingle p
              hisSingle
        aisSingle = c1906v15v1906v49isSingle
        hisSingle fc p
          = T.uap1 T.mkNoSrcPos p
              (T.uwrapForward p (helem fc p))
              (T.fromLitString T.mkNoSrcPos p ",;()[]{}_`")
        gisSym pisSym p
          = T.ufun1 c1907v15v1907v60isSym pisSym p hisSym
        aisSym = c1907v15v1907v60isSym
        hisSym fc p
          = T.uap1 T.mkNoSrcPos p
              (T.uwrapForward p (helem fc p))
              (T.fromLitString T.mkNoSrcPos p
                 "!@#$%&*+./<=>?\\^|:-~")
        gisIdChar pisIdChar p
          = T.ufun1 c1908v15v1908v57isIdChar pisIdChar p
              hisIdChar
        aisIdChar = c1908v15v1908v57isIdChar
        hisIdChar fc p
          = T.uwrapForward p
              ((*||) (T.uwrapForward p (hisAlphaNum fc p))
                 (T.uap1 T.mkNoSrcPos p
                    (T.uwrapForward p (helem fc p))
                    (T.fromLitString T.mkNoSrcPos p "_'"))
                 p)
        glexFracExp plexFracExp p
          = T.ufun1 c1910v15v1913v38lexFracExp plexFracExp p
              hlexFracExp
        alexFracExp = c1910v15v1913v38lexFracExp
        hlexFracExp
          z1lexFracExp@(T.R
                          (T.Cons (T.R '.' _) (T.R (T.Cons fc fcs) _)) _)
          p
          = T.ucguard (T.uwrapForward p (hisDigit fc p))
              (T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                 (T.uap1 T.mkNoSrcPos p (glexDigits T.mkNoSrcPos p)
                    (T.con2 T.mkNoSrcPos p T.Cons T.aCons fc fcs))
                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                    (\ (T.R (T.Tuple2 fds ft) _) p ->
                       T.uap2 T.mkNoSrcPos p
                         ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                         (T.uwrapForward p (hlexExp ft p))
                         (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                            (\ (T.R (T.Tuple2 fe fu) _) p ->
                               T.uap1 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                                 (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                    (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                                       (T.conChar T.mkNoSrcPos p '.')
                                       (T.uwrapForward p ((*++) fds fe p)))
                                    fu))))))
              (y1lexFracExp z1lexFracExp p)
        hlexFracExp z1lexFracExp p
          = y1lexFracExp z1lexFracExp p
        y1lexFracExp fs p = T.uwrapForward p (hlexExp fs p)
        glexExp plexExp p
          = T.ufun1 c1915v15v1919v33lexExp plexExp p hlexExp
        alexExp = c1915v15v1919v33lexExp
        hlexExp z1lexExp@(T.R (T.Cons fe fs) _) p
          = T.ucguard
              (T.uap1 T.mkNoSrcPos p
                 (T.uwrapForward p (helem fe p))
                 (T.fromLitString T.mkNoSrcPos p "eE"))
              (T.uwrapForward p
                 ((*++)
                    (T.uap2 T.mkNoSrcPos p
                       ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                       (T.fromExpList T.mkNoSrcPos p [fs])
                       (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                          (\ fv1916v40v1916v48v1 p ->
                             T.uccase T.mkNoSrcPos p
                               (let v1916v40v1916v48v1 (T.R (T.Cons fc ft) _) p
                                      = T.uap2 T.mkNoSrcPos p
                                          ((Hat.PreludeBasic.!>>) T.mkNoSrcPos
                                             p)
                                          (T.uwrapForward p
                                             (Hat.PreludeBasic.hguard
                                                (T.uap1 T.mkNoSrcPos p
                                                   (T.uwrapForward p
                                                      (helem fc p))
                                                   (T.fromLitString T.mkNoSrcPos
                                                      p
                                                      "+-"))
                                                p))
                                          (T.uap2 T.mkNoSrcPos p
                                             ((Hat.PreludeBasic.!>>=)
                                                T.mkNoSrcPos
                                                p)
                                             (T.uap1 T.mkNoSrcPos p
                                                (glexDigits T.mkNoSrcPos p)
                                                ft)
                                             (T.ufun1 T.mkDoLambda T.mkNoSrcPos
                                                p
                                                (\ (T.R (T.Tuple2 fds fu) _) p
                                                   ->
                                                   T.uap1 T.mkNoSrcPos p
                                                     (Hat.PreludeBasic.greturn
                                                        T.mkNoSrcPos
                                                        p)
                                                     (T.con2 T.mkNoSrcPos p
                                                        T.Tuple2
                                                        T.aTuple2
                                                        (T.con2 T.mkNoSrcPos p
                                                           T.Cons
                                                           T.aCons
                                                           fe
                                                           (T.con2 T.mkNoSrcPos
                                                              p
                                                              T.Cons
                                                              T.aCons
                                                              fc
                                                              fds))
                                                        fu))))
                                    v1916v40v1916v48v1 _ p
                                      = T.uap1 T.mkNoSrcPos p
                                          (Hat.PreludeBasic.gfail T.mkNoSrcPos
                                             p)
                                          (T.fromLitString T.mkNoSrcPos p
                                             "pattern-match failure in do-expression")
                                  in v1916v40v1916v48v1)
                               fv1916v40v1916v48v1)))
                    (T.uap2 T.mkNoSrcPos p
                       ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                       (T.uap1 T.mkNoSrcPos p (glexDigits T.mkNoSrcPos p)
                          fs)
                       (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                          (\ (T.R (T.Tuple2 fds ft) _) p ->
                             T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                               (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                  (T.con2 T.mkNoSrcPos p T.Cons T.aCons fe fds)
                                  ft))))
                    p))
              (y1lexExp z1lexExp p)
        hlexExp z1lexExp p = y1lexExp z1lexExp p
        y1lexExp fs p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.fromLitString T.mkNoSrcPos p "")
                 fs]
y1lex _ p = T.fatal p
 
instance Show Int where
        gshowsPrec pshowsPrec p
          = T.ufun1 c1923v5v1923v41showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fn p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowsPrec T.mkNoSrcPos p)
                         fn)
                      (gtoInteger T.mkNoSrcPos p)
 
instance Read Int where
        greadsPrec preadsPrec p
          = T.ufun2 c1929v3v1929v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp fr p
                  = T.uap2 T.mkNoSrcPos p
                      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p (greadsPrec T.mkNoSrcPos p) fp
                         fr)
                      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                         (\ (T.R (T.Tuple2 fi ft) _) p ->
                            T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                              (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                 (T.uap1 T.mkNoSrcPos p
                                    (gfromInteger T.mkNoSrcPos p)
                                    fi)
                                 ft)))
 
instance Show Integer where
        gshowsPrec pshowsPrec p
          = T.uconstUse pshowsPrec p sshowsPrec
        sshowsPrec
          = T.uconstDef p c1935v5v1935v44showsPrec
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (gshowSigned T.mkNoSrcPos p)
                   (gshowInt T.mkNoSrcPos p))
 
instance Read Integer where
        greadsPrec preadsPrec p
          = T.ufun1 c1939v5v1939v44readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadSigned (greadDec T.mkNoSrcPos p) p)
 
instance Show Float where
        gshowsPrec pshowsPrec p
          = T.ufun1 c1943v5v1943v35showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp p = gshowFloat T.mkNoSrcPos p
 
instance Read Float where
        greadsPrec preadsPrec p
          = T.ufun1 c1947v5v1947v46readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadSigned (greadFloat T.mkNoSrcPos p) p)
 
instance Show Double where
        gshowsPrec pshowsPrec p
          = T.ufun1 c1951v5v1951v35showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp p = gshowFloat T.mkNoSrcPos p
 
instance Read Double where
        greadsPrec preadsPrec p
          = T.ufun1 c1955v5v1955v46readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadSigned (greadFloat T.mkNoSrcPos p) p)
 
instance Show T.Tuple0 where
        gshowsPrec pshowsPrec p
          = T.ufun2 c1959v5v1959v36showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R T.Tuple0 _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "()")
                hshowsPrec _ _ p = T.fatal p
 
instance Read T.Tuple0 where
        greadsPrec preadsPrec p
          = T.ufun1 c1963v5v1965v65readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv1964v46v1964v55v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v1964v46v1964v55v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uwrapForward p
                                                       (hlex fs p))
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ fv1965v46v1965v55v1 p
                                                          ->
                                                          T.uccase T.mkNoSrcPos
                                                            p
                                                            (let v1965v46v1965v55v1
                                                                   (T.R
                                                                      (T.Tuple2
                                                                         (T.R
                                                                            (T.Cons
                                                                               (T.R
                                                                                  ')'
                                                                                  _)
                                                                               (T.R
                                                                                  T.Nil
                                                                                  _))
                                                                            _)
                                                                         ft)
                                                                      _)
                                                                   p
                                                                   = T.uap1
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       (Hat.PreludeBasic.greturn
                                                                          T.mkNoSrcPos
                                                                          p)
                                                                       (T.con2
                                                                          T.mkNoSrcPos
                                                                          p
                                                                          T.Tuple2
                                                                          T.aTuple2
                                                                          (T.con0
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             T.Tuple0
                                                                             T.aTuple0)
                                                                          ft)
                                                                 v1965v46v1965v55v1
                                                                   _ p
                                                                   = T.uap1
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       (Hat.PreludeBasic.gfail
                                                                          T.mkNoSrcPos
                                                                          p)
                                                                       (T.fromLitString
                                                                          T.mkNoSrcPos
                                                                          p
                                                                          "pattern-match failure in do-expression")
                                                               in
                                                               v1965v46v1965v55v1)
                                                            fv1965v46v1965v55v1))
                                              v1964v46v1964v55v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v1964v46v1964v55v1)
                                         fv1964v46v1964v55v1))))
                         p)
 
instance Show Char where
        gshowsPrec pshowsPrec p
          = T.ufun2 c1968v5v1969v68showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R '\'' _) p
                  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p "'\\''")
                hshowsPrec fp fc p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '\''))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uwrapForward p (hshowLitChar fc p))
                         (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                            (T.conChar T.mkNoSrcPos p '\'')))
        gshowList pshowList p
          = T.ufun1 c1971v5v1972v22showList pshowList p
              hshowList
          where hshowList fcs p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '"'))
                      (T.uwrapForward p (hshowl fcs p))
                  where gshowl pshowl p
                          = T.ufun1 c1972v24v1974v64showl pshowl p hshowl
                        ashowl = c1972v24v1974v64showl
                        hshowl (T.R T.Nil _) p
                          = T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                              (T.conChar T.mkNoSrcPos p '"')
                        hshowl (T.R (T.Cons (T.R '"' _) fcs) _) p
                          = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                              (T.uap1 T.mkNoSrcPos p
                                 (gshowString T.mkNoSrcPos p)
                                 (T.fromLitString T.mkNoSrcPos p "\\\""))
                              (T.uwrapForward p (hshowl fcs p))
                        hshowl (T.R (T.Cons fc fcs) _) p
                          = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                              (T.uwrapForward p (hshowLitChar fc p))
                              (T.uwrapForward p (hshowl fcs p))
                        hshowl _ p = T.fatal p
 
instance Read Char where
        greadsPrec preadsPrec p
          = T.ufun1 c1978v5v1980v72readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv1979v45v1979v56v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v1979v45v1979v56v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '\'' _)
                                                            fs)
                                                         _)
                                                      ft)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uwrapForward p
                                                       (hreadLitChar fs p))
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ fv1980v45v1980v56v1 p
                                                          ->
                                                          T.uccase T.mkNoSrcPos
                                                            p
                                                            (let v1980v45v1980v56v1
                                                                   (T.R
                                                                      (T.Tuple2
                                                                         fc
                                                                         (T.R
                                                                            (T.Cons
                                                                               (T.R
                                                                                  '\''
                                                                                  _)
                                                                               (T.R
                                                                                  T.Nil
                                                                                  _))
                                                                            _))
                                                                      _)
                                                                   p
                                                                   = T.uap1
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       (Hat.PreludeBasic.greturn
                                                                          T.mkNoSrcPos
                                                                          p)
                                                                       (T.con2
                                                                          T.mkNoSrcPos
                                                                          p
                                                                          T.Tuple2
                                                                          T.aTuple2
                                                                          fc
                                                                          ft)
                                                                 v1980v45v1980v56v1
                                                                   _ p
                                                                   = T.uap1
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       (Hat.PreludeBasic.gfail
                                                                          T.mkNoSrcPos
                                                                          p)
                                                                       (T.fromLitString
                                                                          T.mkNoSrcPos
                                                                          p
                                                                          "pattern-match failure in do-expression")
                                                               in
                                                               v1980v45v1980v56v1)
                                                            fv1980v45v1980v56v1))
                                              v1979v45v1979v56v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v1979v45v1979v56v1)
                                         fv1979v45v1979v56v1))))
                         p)
        greadList preadList p
          = T.uconstUse preadList p sreadList
        sreadList
          = T.uconstDef p c1982v5v1984v13readList
              (\ p ->
                 let greadl preadl p
                       = T.ufun1 c1984v15v1987v72readl preadl p hreadl
                     areadl = c1984v15v1987v72readl
                     hreadl (T.R (T.Cons (T.R '"' _) fs) _) p
                       = T.fromExpList T.mkNoSrcPos p
                           [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                              (T.fromLitString T.mkNoSrcPos p "")
                              fs]
                     hreadl
                       (T.R
                          (T.Cons (T.R '\\' _) (T.R (T.Cons (T.R '&' _) fs) _))
                          _)
                       p = T.uwrapForward p (hreadl fs p)
                     hreadl fs p
                       = T.uap2 T.mkNoSrcPos p
                           ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                           (T.uwrapForward p (hreadLitChar fs p))
                           (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                              (\ (T.R (T.Tuple2 fc ft) _) p ->
                                 T.uap2 T.mkNoSrcPos p
                                   ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                   (T.uwrapForward p (hreadl ft p))
                                   (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                      (\ (T.R (T.Tuple2 fcs fu) _) p ->
                                         T.uap1 T.mkNoSrcPos p
                                           (Hat.PreludeBasic.greturn
                                              T.mkNoSrcPos
                                              p)
                                           (T.con2 T.mkNoSrcPos p T.Tuple2
                                              T.aTuple2
                                              (T.con2 T.mkNoSrcPos p T.Cons
                                                 T.aCons
                                                 fc
                                                 fcs)
                                              fu)))))
                   in
                   T.uwrapForward p
                     (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                        (T.ufun1 T.mkLambda T.mkNoSrcPos p
                           (\ fr p ->
                              T.uap2 T.mkNoSrcPos p
                                ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                (T.uwrapForward p (hlex fr p))
                                (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                   (\ fv1982v48v1982v60v1 p ->
                                      T.uccase T.mkNoSrcPos p
                                        (let v1982v48v1982v60v1
                                               (T.R
                                                  (T.Tuple2
                                                     (T.R
                                                        (T.Cons (T.R '"' _) fs)
                                                        _)
                                                     ft)
                                                  _)
                                               p
                                               = T.uap2 T.mkNoSrcPos p
                                                   ((Hat.PreludeBasic.!>>=)
                                                      T.mkNoSrcPos
                                                      p)
                                                   (T.uwrapForward p
                                                      (hreadl fs p))
                                                   (T.ufun1 T.mkDoLambda
                                                      T.mkNoSrcPos
                                                      p
                                                      (\ (T.R (T.Tuple2 fl _) _)
                                                         p ->
                                                         T.uap1 T.mkNoSrcPos p
                                                           (Hat.PreludeBasic.greturn
                                                              T.mkNoSrcPos
                                                              p)
                                                           (T.con2 T.mkNoSrcPos
                                                              p
                                                              T.Tuple2
                                                              T.aTuple2
                                                              fl
                                                              ft)))
                                             v1982v48v1982v60v1 _ p
                                               = T.uap1 T.mkNoSrcPos p
                                                   (Hat.PreludeBasic.gfail
                                                      T.mkNoSrcPos
                                                      p)
                                                   (T.fromLitString T.mkNoSrcPos
                                                      p
                                                      "pattern-match failure in do-expression")
                                           in v1982v48v1982v60v1)
                                        fv1982v48v1982v60v1))))
                        p))
 
instance (Show a) => Show (T.List a) where
        gshowsPrec pshowsPrec p
          = T.ufun1 c1991v5v1991v31showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp p = gshowList T.mkNoSrcPos p
 
instance (Read a) => Read (T.List a) where
        greadsPrec preadsPrec p
          = T.ufun1 c1995v5v1995v31readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p = greadList T.mkNoSrcPos p
 
instance (Show a, Show b) => Show (T.Tuple2 a b)
         where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2001v5v2002v61showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R (T.Tuple2 fx fy) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                               (T.conChar T.mkNoSrcPos p ','))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                                  (T.conChar T.mkNoSrcPos p ')')))))
 
instance (Read a, Read b) => Read (T.Tuple2 a b)
         where
        greadsPrec preadsPrec p
          = T.ufun1 c2006v5v2011v69readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2007v50v2007v59v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2007v50v2007v59v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R (T.Tuple2 fx ft)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex ft p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2009v50v2009v59v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2009v50v2009v59v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fu)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fu)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fy
                                                                                           fv)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fv
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2011v50v2011v59v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2011v50v2011v59v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ')'
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fw)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.greturn
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.con2
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             T.Tuple2
                                                                                                             T.aTuple2
                                                                                                             (T.con2
                                                                                                                T.mkNoSrcPos
                                                                                                                p
                                                                                                                T.Tuple2
                                                                                                                T.aTuple2
                                                                                                                fx
                                                                                                                fy)
                                                                                                             fw)
                                                                                                    v2011v50v2011v59v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2011v50v2011v59v1)
                                                                                               fv2011v50v2011v59v1))))
                                                                         v2009v50v2009v59v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2009v50v2009v59v1)
                                                                    fv2009v50v2009v59v1))))
                                              v2007v50v2007v59v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2007v50v2007v59v1)
                                         fv2007v50v2007v59v1))))
                         p)
 
instance (Read a, Read b, Read c) => Read
         (T.Tuple3 a b c) where
        greadsPrec preadsPrec p
          = T.ufun1 c2015v5v2023v62readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2017v41v2017v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2017v41v2017v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2019v41v2019v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2019v41v2019v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2021v41v2021v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2021v41v2021v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2023v41v2023v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2023v41v2023v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ')'
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fw)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.greturn
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.con2
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        T.Tuple2
                                                                                                                                        T.aTuple2
                                                                                                                                        (T.con3
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p
                                                                                                                                           T.Tuple3
                                                                                                                                           T.aTuple3
                                                                                                                                           fx1
                                                                                                                                           fx2
                                                                                                                                           fx3)
                                                                                                                                        fw)
                                                                                                                               v2023v41v2023v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2023v41v2023v51v1)
                                                                                                                          fv2023v41v2023v51v1))))
                                                                                                    v2021v41v2021v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2021v41v2021v51v1)
                                                                                               fv2021v41v2021v51v1))))
                                                                         v2019v41v2019v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2019v41v2019v51v1)
                                                                    fv2019v41v2019v51v1))))
                                              v2017v41v2017v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2017v41v2017v51v1)
                                         fv2017v41v2017v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d) => Read
         (T.Tuple4 a b c d) where
        greadsPrec preadsPrec p
          = T.ufun1 c2026v5v2036v62readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2028v41v2028v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2028v41v2028v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2030v41v2030v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2030v41v2030v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2032v41v2032v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2032v41v2032v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2034v41v2034v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2034v41v2034v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2036v41v2036v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2036v41v2036v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ')'
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fw)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.greturn
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.con2
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   T.Tuple2
                                                                                                                                                                   T.aTuple2
                                                                                                                                                                   (T.con4
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p
                                                                                                                                                                      T.Tuple4
                                                                                                                                                                      T.aTuple4
                                                                                                                                                                      fx1
                                                                                                                                                                      fx2
                                                                                                                                                                      fx3
                                                                                                                                                                      fx4)
                                                                                                                                                                   fw)
                                                                                                                                                          v2036v41v2036v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2036v41v2036v51v1)
                                                                                                                                                     fv2036v41v2036v51v1))))
                                                                                                                               v2034v41v2034v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2034v41v2034v51v1)
                                                                                                                          fv2034v41v2034v51v1))))
                                                                                                    v2032v41v2032v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2032v41v2032v51v1)
                                                                                               fv2032v41v2032v51v1))))
                                                                         v2030v41v2030v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2030v41v2030v51v1)
                                                                    fv2030v41v2030v51v1))))
                                              v2028v41v2028v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2028v41v2028v51v1)
                                         fv2028v41v2028v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e) =>
         Read (T.Tuple5 a b c d e) where
        greadsPrec preadsPrec p
          = T.ufun1 c2039v5v2051v62readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2041v41v2041v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2041v41v2041v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2043v41v2043v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2043v41v2043v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2045v41v2045v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2045v41v2045v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2047v41v2047v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2047v41v2047v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2049v41v2049v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2049v41v2049v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2051v41v2051v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2051v41v2051v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ')'
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fw)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.greturn
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.con2
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              T.Tuple2
                                                                                                                                                                                              T.aTuple2
                                                                                                                                                                                              (T.con5
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p
                                                                                                                                                                                                 T.Tuple5
                                                                                                                                                                                                 T.aTuple5
                                                                                                                                                                                                 fx1
                                                                                                                                                                                                 fx2
                                                                                                                                                                                                 fx3
                                                                                                                                                                                                 fx4
                                                                                                                                                                                                 fx5)
                                                                                                                                                                                              fw)
                                                                                                                                                                                     v2051v41v2051v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2051v41v2051v51v1)
                                                                                                                                                                                fv2051v41v2051v51v1))))
                                                                                                                                                          v2049v41v2049v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2049v41v2049v51v1)
                                                                                                                                                     fv2049v41v2049v51v1))))
                                                                                                                               v2047v41v2047v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2047v41v2047v51v1)
                                                                                                                          fv2047v41v2047v51v1))))
                                                                                                    v2045v41v2045v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2045v41v2045v51v1)
                                                                                               fv2045v41v2045v51v1))))
                                                                         v2043v41v2043v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2043v41v2043v51v1)
                                                                    fv2043v41v2043v51v1))))
                                              v2041v41v2041v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2041v41v2041v51v1)
                                         fv2041v41v2041v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f) =>
         Read (T.Tuple6 a b c d e f) where
        greadsPrec preadsPrec p
          = T.ufun1 c2055v5v2069v62readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2057v41v2057v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2057v41v2057v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2059v41v2059v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2059v41v2059v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2061v41v2061v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2061v41v2061v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2063v41v2063v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2063v41v2063v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2065v41v2065v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2065v41v2065v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2067v41v2067v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2067v41v2067v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2069v41v2069v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2069v41v2069v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ')'
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fw)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.con2
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         T.Tuple2
                                                                                                                                                                                                                         T.aTuple2
                                                                                                                                                                                                                         (T.con6
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            T.Tuple6
                                                                                                                                                                                                                            T.aTuple6
                                                                                                                                                                                                                            fx1
                                                                                                                                                                                                                            fx2
                                                                                                                                                                                                                            fx3
                                                                                                                                                                                                                            fx4
                                                                                                                                                                                                                            fx5
                                                                                                                                                                                                                            fx6)
                                                                                                                                                                                                                         fw)
                                                                                                                                                                                                                v2069v41v2069v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2069v41v2069v51v1)
                                                                                                                                                                                                           fv2069v41v2069v51v1))))
                                                                                                                                                                                     v2067v41v2067v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2067v41v2067v51v1)
                                                                                                                                                                                fv2067v41v2067v51v1))))
                                                                                                                                                          v2065v41v2065v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2065v41v2065v51v1)
                                                                                                                                                     fv2065v41v2065v51v1))))
                                                                                                                               v2063v41v2063v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2063v41v2063v51v1)
                                                                                                                          fv2063v41v2063v51v1))))
                                                                                                    v2061v41v2061v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2061v41v2061v51v1)
                                                                                               fv2061v41v2061v51v1))))
                                                                         v2059v41v2059v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2059v41v2059v51v1)
                                                                    fv2059v41v2059v51v1))))
                                              v2057v41v2057v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2057v41v2057v51v1)
                                         fv2057v41v2057v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g) =>
         Read (T.Tuple7 a b c d e f g) where
        greadsPrec preadsPrec p
          = T.ufun1 c2073v5v2089v62readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2075v41v2075v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2075v41v2075v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2077v41v2077v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2077v41v2077v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2079v41v2079v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2079v41v2079v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2081v41v2081v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2081v41v2081v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2083v41v2083v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2083v41v2083v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2085v41v2085v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2085v41v2085v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2087v41v2087v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2087v41v2087v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2089v41v2089v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2089v41v2089v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ')'
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fw)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.con2
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    T.Tuple2
                                                                                                                                                                                                                                                    T.aTuple2
                                                                                                                                                                                                                                                    (T.con7
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       T.Tuple7
                                                                                                                                                                                                                                                       T.aTuple7
                                                                                                                                                                                                                                                       fx1
                                                                                                                                                                                                                                                       fx2
                                                                                                                                                                                                                                                       fx3
                                                                                                                                                                                                                                                       fx4
                                                                                                                                                                                                                                                       fx5
                                                                                                                                                                                                                                                       fx6
                                                                                                                                                                                                                                                       fx7)
                                                                                                                                                                                                                                                    fw)
                                                                                                                                                                                                                                           v2089v41v2089v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2089v41v2089v51v1)
                                                                                                                                                                                                                                      fv2089v41v2089v51v1))))
                                                                                                                                                                                                                v2087v41v2087v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2087v41v2087v51v1)
                                                                                                                                                                                                           fv2087v41v2087v51v1))))
                                                                                                                                                                                     v2085v41v2085v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2085v41v2085v51v1)
                                                                                                                                                                                fv2085v41v2085v51v1))))
                                                                                                                                                          v2083v41v2083v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2083v41v2083v51v1)
                                                                                                                                                     fv2083v41v2083v51v1))))
                                                                                                                               v2081v41v2081v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2081v41v2081v51v1)
                                                                                                                          fv2081v41v2081v51v1))))
                                                                                                    v2079v41v2079v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2079v41v2079v51v1)
                                                                                               fv2079v41v2079v51v1))))
                                                                         v2077v41v2077v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2077v41v2077v51v1)
                                                                    fv2077v41v2077v51v1))))
                                              v2075v41v2075v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2075v41v2075v51v1)
                                         fv2075v41v2075v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h) =>
         Read (T.Tuple8 a b c d e f g h) where
        greadsPrec preadsPrec p
          = T.ufun1 c2094v5v2112v62readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2096v41v2096v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2096v41v2096v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2098v41v2098v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2098v41v2098v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2100v41v2100v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2100v41v2100v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2102v41v2102v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2102v41v2102v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2104v41v2104v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2104v41v2104v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2106v41v2106v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2106v41v2106v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2108v41v2108v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2108v41v2108v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2110v41v2110v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2110v41v2110v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2112v41v2112v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2112v41v2112v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ')'
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fw)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.con2
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               T.Tuple2
                                                                                                                                                                                                                                                                               T.aTuple2
                                                                                                                                                                                                                                                                               (T.con8
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  T.Tuple8
                                                                                                                                                                                                                                                                                  T.aTuple8
                                                                                                                                                                                                                                                                                  fx1
                                                                                                                                                                                                                                                                                  fx2
                                                                                                                                                                                                                                                                                  fx3
                                                                                                                                                                                                                                                                                  fx4
                                                                                                                                                                                                                                                                                  fx5
                                                                                                                                                                                                                                                                                  fx6
                                                                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                                                                  fx8)
                                                                                                                                                                                                                                                                               fw)
                                                                                                                                                                                                                                                                      v2112v41v2112v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2112v41v2112v51v1)
                                                                                                                                                                                                                                                                 fv2112v41v2112v51v1))))
                                                                                                                                                                                                                                           v2110v41v2110v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2110v41v2110v51v1)
                                                                                                                                                                                                                                      fv2110v41v2110v51v1))))
                                                                                                                                                                                                                v2108v41v2108v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2108v41v2108v51v1)
                                                                                                                                                                                                           fv2108v41v2108v51v1))))
                                                                                                                                                                                     v2106v41v2106v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2106v41v2106v51v1)
                                                                                                                                                                                fv2106v41v2106v51v1))))
                                                                                                                                                          v2104v41v2104v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2104v41v2104v51v1)
                                                                                                                                                     fv2104v41v2104v51v1))))
                                                                                                                               v2102v41v2102v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2102v41v2102v51v1)
                                                                                                                          fv2102v41v2102v51v1))))
                                                                                                    v2100v41v2100v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2100v41v2100v51v1)
                                                                                               fv2100v41v2100v51v1))))
                                                                         v2098v41v2098v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2098v41v2098v51v1)
                                                                    fv2098v41v2098v51v1))))
                                              v2096v41v2096v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2096v41v2096v51v1)
                                         fv2096v41v2096v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h, Read i) =>
         Read (T.Tuple9 a b c d e f g h i) where
        greadsPrec preadsPrec p
          = T.ufun1 c2117v5v2137v62readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2119v41v2119v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2119v41v2119v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2121v41v2121v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2121v41v2121v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2123v41v2123v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2123v41v2123v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2125v41v2125v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2125v41v2125v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2127v41v2127v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2127v41v2127v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2129v41v2129v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2129v41v2129v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2131v41v2131v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2131v41v2131v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2133v41v2133v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2133v41v2133v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2135v41v2135v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2135v41v2135v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ','
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fs9)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap2
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.uap1
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (greads
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                               fs9)
                                                                                                                                                                                                                                                                            (T.ufun1
                                                                                                                                                                                                                                                                               T.mkDoLambda
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (\ (T.R
                                                                                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                        fr9)
                                                                                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  ->
                                                                                                                                                                                                                                                                                  T.uap2
                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                    ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                                                    (T.uwrapForward
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (hlex
                                                                                                                                                                                                                                                                                          fr9
                                                                                                                                                                                                                                                                                          p))
                                                                                                                                                                                                                                                                                    (T.ufun1
                                                                                                                                                                                                                                                                                       T.mkDoLambda
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (\ fv2137v41v2137v51v1
                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                          ->
                                                                                                                                                                                                                                                                                          T.uccase
                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                            (let v2137v41v2137v51v1
                                                                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                            (T.Cons
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  ')'
                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  T.Nil
                                                                                                                                                                                                                                                                                                                  _))
                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                         fw)
                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.con2
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          T.Tuple2
                                                                                                                                                                                                                                                                                                          T.aTuple2
                                                                                                                                                                                                                                                                                                          (T.con9
                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                             T.Tuple9
                                                                                                                                                                                                                                                                                                             T.aTuple9
                                                                                                                                                                                                                                                                                                             fx1
                                                                                                                                                                                                                                                                                                             fx2
                                                                                                                                                                                                                                                                                                             fx3
                                                                                                                                                                                                                                                                                                             fx4
                                                                                                                                                                                                                                                                                                             fx5
                                                                                                                                                                                                                                                                                                             fx6
                                                                                                                                                                                                                                                                                                             fx7
                                                                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                                                                             fx9)
                                                                                                                                                                                                                                                                                                          fw)
                                                                                                                                                                                                                                                                                                 v2137v41v2137v51v1
                                                                                                                                                                                                                                                                                                   _
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.fromLitString
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                               in
                                                                                                                                                                                                                                                                                               v2137v41v2137v51v1)
                                                                                                                                                                                                                                                                                            fv2137v41v2137v51v1))))
                                                                                                                                                                                                                                                                      v2135v41v2135v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2135v41v2135v51v1)
                                                                                                                                                                                                                                                                 fv2135v41v2135v51v1))))
                                                                                                                                                                                                                                           v2133v41v2133v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2133v41v2133v51v1)
                                                                                                                                                                                                                                      fv2133v41v2133v51v1))))
                                                                                                                                                                                                                v2131v41v2131v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2131v41v2131v51v1)
                                                                                                                                                                                                           fv2131v41v2131v51v1))))
                                                                                                                                                                                     v2129v41v2129v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2129v41v2129v51v1)
                                                                                                                                                                                fv2129v41v2129v51v1))))
                                                                                                                                                          v2127v41v2127v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2127v41v2127v51v1)
                                                                                                                                                     fv2127v41v2127v51v1))))
                                                                                                                               v2125v41v2125v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2125v41v2125v51v1)
                                                                                                                          fv2125v41v2125v51v1))))
                                                                                                    v2123v41v2123v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2123v41v2123v51v1)
                                                                                               fv2123v41v2123v51v1))))
                                                                         v2121v41v2121v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2121v41v2121v51v1)
                                                                    fv2121v41v2121v51v1))))
                                              v2119v41v2119v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2119v41v2119v51v1)
                                         fv2119v41v2119v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h, Read i, Read j) =>
         Read (T.Tuple10 a b c d e f g h i j) where
        greadsPrec preadsPrec p
          = T.ufun1 c2142v5v2164v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2144v41v2144v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2144v41v2144v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2146v41v2146v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2146v41v2146v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2148v41v2148v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2148v41v2148v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2150v41v2150v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2150v41v2150v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2152v41v2152v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2152v41v2152v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2154v41v2154v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2154v41v2154v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2156v41v2156v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2156v41v2156v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2158v41v2158v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2158v41v2158v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2160v41v2160v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2160v41v2160v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ','
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fs9)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap2
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.uap1
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (greads
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                               fs9)
                                                                                                                                                                                                                                                                            (T.ufun1
                                                                                                                                                                                                                                                                               T.mkDoLambda
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (\ (T.R
                                                                                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                        fr9)
                                                                                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  ->
                                                                                                                                                                                                                                                                                  T.uap2
                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                    ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                                                    (T.uwrapForward
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (hlex
                                                                                                                                                                                                                                                                                          fr9
                                                                                                                                                                                                                                                                                          p))
                                                                                                                                                                                                                                                                                    (T.ufun1
                                                                                                                                                                                                                                                                                       T.mkDoLambda
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (\ fv2162v41v2162v52v1
                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                          ->
                                                                                                                                                                                                                                                                                          T.uccase
                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                            (let v2162v41v2162v52v1
                                                                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                            (T.Cons
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  ','
                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  T.Nil
                                                                                                                                                                                                                                                                                                                  _))
                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                         fs10)
                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap2
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.uap1
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (greads
                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                          fs10)
                                                                                                                                                                                                                                                                                                       (T.ufun1
                                                                                                                                                                                                                                                                                                          T.mkDoLambda
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (\ (T.R
                                                                                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                                                                                   fx10
                                                                                                                                                                                                                                                                                                                   fr10)
                                                                                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                             ->
                                                                                                                                                                                                                                                                                                             T.uap2
                                                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                                                               (T.uwrapForward
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (hlex
                                                                                                                                                                                                                                                                                                                     fr10
                                                                                                                                                                                                                                                                                                                     p))
                                                                                                                                                                                                                                                                                                               (T.ufun1
                                                                                                                                                                                                                                                                                                                  T.mkDoLambda
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (\ fv2164v41v2164v51v1
                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                     ->
                                                                                                                                                                                                                                                                                                                     T.uccase
                                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                                       (let v2164v41v2164v51v1
                                                                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                       (T.Cons
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             ')'
                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             T.Nil
                                                                                                                                                                                                                                                                                                                                             _))
                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                    fw)
                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap1
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.con2
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     T.Tuple2
                                                                                                                                                                                                                                                                                                                                     T.aTuple2
                                                                                                                                                                                                                                                                                                                                     (T.con10
                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                        T.Tuple10
                                                                                                                                                                                                                                                                                                                                        T.aTuple10
                                                                                                                                                                                                                                                                                                                                        fx1
                                                                                                                                                                                                                                                                                                                                        fx2
                                                                                                                                                                                                                                                                                                                                        fx3
                                                                                                                                                                                                                                                                                                                                        fx4
                                                                                                                                                                                                                                                                                                                                        fx5
                                                                                                                                                                                                                                                                                                                                        fx6
                                                                                                                                                                                                                                                                                                                                        fx7
                                                                                                                                                                                                                                                                                                                                        fx8
                                                                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                                                                        fx10)
                                                                                                                                                                                                                                                                                                                                     fw)
                                                                                                                                                                                                                                                                                                                            v2164v41v2164v51v1
                                                                                                                                                                                                                                                                                                                              _
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap1
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.fromLitString
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                          in
                                                                                                                                                                                                                                                                                                                          v2164v41v2164v51v1)
                                                                                                                                                                                                                                                                                                                       fv2164v41v2164v51v1))))
                                                                                                                                                                                                                                                                                                 v2162v41v2162v52v1
                                                                                                                                                                                                                                                                                                   _
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.fromLitString
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                               in
                                                                                                                                                                                                                                                                                               v2162v41v2162v52v1)
                                                                                                                                                                                                                                                                                            fv2162v41v2162v52v1))))
                                                                                                                                                                                                                                                                      v2160v41v2160v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2160v41v2160v51v1)
                                                                                                                                                                                                                                                                 fv2160v41v2160v51v1))))
                                                                                                                                                                                                                                           v2158v41v2158v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2158v41v2158v51v1)
                                                                                                                                                                                                                                      fv2158v41v2158v51v1))))
                                                                                                                                                                                                                v2156v41v2156v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2156v41v2156v51v1)
                                                                                                                                                                                                           fv2156v41v2156v51v1))))
                                                                                                                                                                                     v2154v41v2154v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2154v41v2154v51v1)
                                                                                                                                                                                fv2154v41v2154v51v1))))
                                                                                                                                                          v2152v41v2152v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2152v41v2152v51v1)
                                                                                                                                                     fv2152v41v2152v51v1))))
                                                                                                                               v2150v41v2150v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2150v41v2150v51v1)
                                                                                                                          fv2150v41v2150v51v1))))
                                                                                                    v2148v41v2148v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2148v41v2148v51v1)
                                                                                               fv2148v41v2148v51v1))))
                                                                         v2146v41v2146v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2146v41v2146v51v1)
                                                                    fv2146v41v2146v51v1))))
                                              v2144v41v2144v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2144v41v2144v51v1)
                                         fv2144v41v2144v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h, Read i, Read j, Read k) =>
         Read (T.Tuple11 a b c d e f g h i j k) where
        greadsPrec preadsPrec p
          = T.ufun1 c2169v5v2193v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2171v41v2171v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2171v41v2171v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2173v41v2173v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2173v41v2173v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2175v41v2175v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2175v41v2175v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2177v41v2177v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2177v41v2177v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2179v41v2179v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2179v41v2179v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2181v41v2181v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2181v41v2181v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2183v41v2183v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2183v41v2183v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2185v41v2185v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2185v41v2185v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2187v41v2187v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2187v41v2187v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ','
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fs9)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap2
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.uap1
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (greads
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                               fs9)
                                                                                                                                                                                                                                                                            (T.ufun1
                                                                                                                                                                                                                                                                               T.mkDoLambda
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (\ (T.R
                                                                                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                        fr9)
                                                                                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  ->
                                                                                                                                                                                                                                                                                  T.uap2
                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                    ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                                                    (T.uwrapForward
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (hlex
                                                                                                                                                                                                                                                                                          fr9
                                                                                                                                                                                                                                                                                          p))
                                                                                                                                                                                                                                                                                    (T.ufun1
                                                                                                                                                                                                                                                                                       T.mkDoLambda
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (\ fv2189v41v2189v52v1
                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                          ->
                                                                                                                                                                                                                                                                                          T.uccase
                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                            (let v2189v41v2189v52v1
                                                                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                            (T.Cons
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  ','
                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  T.Nil
                                                                                                                                                                                                                                                                                                                  _))
                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                         fs10)
                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap2
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.uap1
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (greads
                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                          fs10)
                                                                                                                                                                                                                                                                                                       (T.ufun1
                                                                                                                                                                                                                                                                                                          T.mkDoLambda
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (\ (T.R
                                                                                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                                                                                   fx10
                                                                                                                                                                                                                                                                                                                   fr10)
                                                                                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                             ->
                                                                                                                                                                                                                                                                                                             T.uap2
                                                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                                                               (T.uwrapForward
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (hlex
                                                                                                                                                                                                                                                                                                                     fr10
                                                                                                                                                                                                                                                                                                                     p))
                                                                                                                                                                                                                                                                                                               (T.ufun1
                                                                                                                                                                                                                                                                                                                  T.mkDoLambda
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (\ fv2191v41v2191v52v1
                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                     ->
                                                                                                                                                                                                                                                                                                                     T.uccase
                                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                                       (let v2191v41v2191v52v1
                                                                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                       (T.Cons
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             ','
                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             T.Nil
                                                                                                                                                                                                                                                                                                                                             _))
                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                    fs11)
                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap2
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.uap1
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (greads
                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                     fs11)
                                                                                                                                                                                                                                                                                                                                  (T.ufun1
                                                                                                                                                                                                                                                                                                                                     T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (\ (T.R
                                                                                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                                                                                              fx11
                                                                                                                                                                                                                                                                                                                                              fr11)
                                                                                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                        ->
                                                                                                                                                                                                                                                                                                                                        T.uap2
                                                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                                                          (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (hlex
                                                                                                                                                                                                                                                                                                                                                fr11
                                                                                                                                                                                                                                                                                                                                                p))
                                                                                                                                                                                                                                                                                                                                          (T.ufun1
                                                                                                                                                                                                                                                                                                                                             T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (\ fv2193v41v2193v51v1
                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                ->
                                                                                                                                                                                                                                                                                                                                                T.uccase
                                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                                  (let v2193v41v2193v51v1
                                                                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                                                                            (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                  (T.Cons
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        ')'
                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        T.Nil
                                                                                                                                                                                                                                                                                                                                                                        _))
                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                               fw)
                                                                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap1
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.con2
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                T.aTuple2
                                                                                                                                                                                                                                                                                                                                                                (T.con11
                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                   T.Tuple11
                                                                                                                                                                                                                                                                                                                                                                   T.aTuple11
                                                                                                                                                                                                                                                                                                                                                                   fx1
                                                                                                                                                                                                                                                                                                                                                                   fx2
                                                                                                                                                                                                                                                                                                                                                                   fx3
                                                                                                                                                                                                                                                                                                                                                                   fx4
                                                                                                                                                                                                                                                                                                                                                                   fx5
                                                                                                                                                                                                                                                                                                                                                                   fx6
                                                                                                                                                                                                                                                                                                                                                                   fx7
                                                                                                                                                                                                                                                                                                                                                                   fx8
                                                                                                                                                                                                                                                                                                                                                                   fx9
                                                                                                                                                                                                                                                                                                                                                                   fx10
                                                                                                                                                                                                                                                                                                                                                                   fx11)
                                                                                                                                                                                                                                                                                                                                                                fw)
                                                                                                                                                                                                                                                                                                                                                       v2193v41v2193v51v1
                                                                                                                                                                                                                                                                                                                                                         _
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap1
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                     in
                                                                                                                                                                                                                                                                                                                                                     v2193v41v2193v51v1)
                                                                                                                                                                                                                                                                                                                                                  fv2193v41v2193v51v1))))
                                                                                                                                                                                                                                                                                                                            v2191v41v2191v52v1
                                                                                                                                                                                                                                                                                                                              _
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap1
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.fromLitString
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                          in
                                                                                                                                                                                                                                                                                                                          v2191v41v2191v52v1)
                                                                                                                                                                                                                                                                                                                       fv2191v41v2191v52v1))))
                                                                                                                                                                                                                                                                                                 v2189v41v2189v52v1
                                                                                                                                                                                                                                                                                                   _
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.fromLitString
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                               in
                                                                                                                                                                                                                                                                                               v2189v41v2189v52v1)
                                                                                                                                                                                                                                                                                            fv2189v41v2189v52v1))))
                                                                                                                                                                                                                                                                      v2187v41v2187v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2187v41v2187v51v1)
                                                                                                                                                                                                                                                                 fv2187v41v2187v51v1))))
                                                                                                                                                                                                                                           v2185v41v2185v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2185v41v2185v51v1)
                                                                                                                                                                                                                                      fv2185v41v2185v51v1))))
                                                                                                                                                                                                                v2183v41v2183v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2183v41v2183v51v1)
                                                                                                                                                                                                           fv2183v41v2183v51v1))))
                                                                                                                                                                                     v2181v41v2181v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2181v41v2181v51v1)
                                                                                                                                                                                fv2181v41v2181v51v1))))
                                                                                                                                                          v2179v41v2179v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2179v41v2179v51v1)
                                                                                                                                                     fv2179v41v2179v51v1))))
                                                                                                                               v2177v41v2177v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2177v41v2177v51v1)
                                                                                                                          fv2177v41v2177v51v1))))
                                                                                                    v2175v41v2175v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2175v41v2175v51v1)
                                                                                               fv2175v41v2175v51v1))))
                                                                         v2173v41v2173v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2173v41v2173v51v1)
                                                                    fv2173v41v2173v51v1))))
                                              v2171v41v2171v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2171v41v2171v51v1)
                                         fv2171v41v2171v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h, Read i, Read j, Read k,
          Read l) =>
         Read (T.Tuple12 a b c d e f g h i j k l) where
        greadsPrec preadsPrec p
          = T.ufun1 c2198v5v2224v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2200v41v2200v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2200v41v2200v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2202v41v2202v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2202v41v2202v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2204v41v2204v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2204v41v2204v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2206v41v2206v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2206v41v2206v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2208v41v2208v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2208v41v2208v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2210v41v2210v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2210v41v2210v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2212v41v2212v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2212v41v2212v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2214v41v2214v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2214v41v2214v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2216v41v2216v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2216v41v2216v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ','
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fs9)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap2
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.uap1
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (greads
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                               fs9)
                                                                                                                                                                                                                                                                            (T.ufun1
                                                                                                                                                                                                                                                                               T.mkDoLambda
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (\ (T.R
                                                                                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                        fr9)
                                                                                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  ->
                                                                                                                                                                                                                                                                                  T.uap2
                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                    ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                                                    (T.uwrapForward
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (hlex
                                                                                                                                                                                                                                                                                          fr9
                                                                                                                                                                                                                                                                                          p))
                                                                                                                                                                                                                                                                                    (T.ufun1
                                                                                                                                                                                                                                                                                       T.mkDoLambda
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (\ fv2218v41v2218v52v1
                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                          ->
                                                                                                                                                                                                                                                                                          T.uccase
                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                            (let v2218v41v2218v52v1
                                                                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                            (T.Cons
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  ','
                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  T.Nil
                                                                                                                                                                                                                                                                                                                  _))
                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                         fs10)
                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap2
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.uap1
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (greads
                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                          fs10)
                                                                                                                                                                                                                                                                                                       (T.ufun1
                                                                                                                                                                                                                                                                                                          T.mkDoLambda
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (\ (T.R
                                                                                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                                                                                   fx10
                                                                                                                                                                                                                                                                                                                   fr10)
                                                                                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                             ->
                                                                                                                                                                                                                                                                                                             T.uap2
                                                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                                                               (T.uwrapForward
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (hlex
                                                                                                                                                                                                                                                                                                                     fr10
                                                                                                                                                                                                                                                                                                                     p))
                                                                                                                                                                                                                                                                                                               (T.ufun1
                                                                                                                                                                                                                                                                                                                  T.mkDoLambda
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (\ fv2220v41v2220v52v1
                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                     ->
                                                                                                                                                                                                                                                                                                                     T.uccase
                                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                                       (let v2220v41v2220v52v1
                                                                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                       (T.Cons
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             ','
                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             T.Nil
                                                                                                                                                                                                                                                                                                                                             _))
                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                    fs11)
                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap2
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.uap1
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (greads
                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                     fs11)
                                                                                                                                                                                                                                                                                                                                  (T.ufun1
                                                                                                                                                                                                                                                                                                                                     T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (\ (T.R
                                                                                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                                                                                              fx11
                                                                                                                                                                                                                                                                                                                                              fr11)
                                                                                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                        ->
                                                                                                                                                                                                                                                                                                                                        T.uap2
                                                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                                                          (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (hlex
                                                                                                                                                                                                                                                                                                                                                fr11
                                                                                                                                                                                                                                                                                                                                                p))
                                                                                                                                                                                                                                                                                                                                          (T.ufun1
                                                                                                                                                                                                                                                                                                                                             T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (\ fv2222v41v2222v52v1
                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                ->
                                                                                                                                                                                                                                                                                                                                                T.uccase
                                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                                  (let v2222v41v2222v52v1
                                                                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                                                                            (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                  (T.Cons
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        ','
                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        T.Nil
                                                                                                                                                                                                                                                                                                                                                                        _))
                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                               fs12)
                                                                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap2
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.uap1
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (greads
                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                   p)
                                                                                                                                                                                                                                                                                                                                                                fs12)
                                                                                                                                                                                                                                                                                                                                                             (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                         fx12
                                                                                                                                                                                                                                                                                                                                                                         fr12)
                                                                                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                   ->
                                                                                                                                                                                                                                                                                                                                                                   T.uap2
                                                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                                                     (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (hlex
                                                                                                                                                                                                                                                                                                                                                                           fr12
                                                                                                                                                                                                                                                                                                                                                                           p))
                                                                                                                                                                                                                                                                                                                                                                     (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                        T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (\ fv2224v41v2224v51v1
                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                           ->
                                                                                                                                                                                                                                                                                                                                                                           T.uccase
                                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                                             (let v2224v41v2224v51v1
                                                                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                                                                       (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                                                                             (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   ')'
                                                                                                                                                                                                                                                                                                                                                                                                   _)
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                   _))
                                                                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                                                                          fw)
                                                                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.con2
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                           T.aTuple2
                                                                                                                                                                                                                                                                                                                                                                                           (T.con12
                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                              T.Tuple12
                                                                                                                                                                                                                                                                                                                                                                                              T.aTuple12
                                                                                                                                                                                                                                                                                                                                                                                              fx1
                                                                                                                                                                                                                                                                                                                                                                                              fx2
                                                                                                                                                                                                                                                                                                                                                                                              fx3
                                                                                                                                                                                                                                                                                                                                                                                              fx4
                                                                                                                                                                                                                                                                                                                                                                                              fx5
                                                                                                                                                                                                                                                                                                                                                                                              fx6
                                                                                                                                                                                                                                                                                                                                                                                              fx7
                                                                                                                                                                                                                                                                                                                                                                                              fx8
                                                                                                                                                                                                                                                                                                                                                                                              fx9
                                                                                                                                                                                                                                                                                                                                                                                              fx10
                                                                                                                                                                                                                                                                                                                                                                                              fx11
                                                                                                                                                                                                                                                                                                                                                                                              fx12)
                                                                                                                                                                                                                                                                                                                                                                                           fw)
                                                                                                                                                                                                                                                                                                                                                                                  v2224v41v2224v51v1
                                                                                                                                                                                                                                                                                                                                                                                    _
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                in
                                                                                                                                                                                                                                                                                                                                                                                v2224v41v2224v51v1)
                                                                                                                                                                                                                                                                                                                                                                             fv2224v41v2224v51v1))))
                                                                                                                                                                                                                                                                                                                                                       v2222v41v2222v52v1
                                                                                                                                                                                                                                                                                                                                                         _
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap1
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                     in
                                                                                                                                                                                                                                                                                                                                                     v2222v41v2222v52v1)
                                                                                                                                                                                                                                                                                                                                                  fv2222v41v2222v52v1))))
                                                                                                                                                                                                                                                                                                                            v2220v41v2220v52v1
                                                                                                                                                                                                                                                                                                                              _
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap1
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.fromLitString
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                          in
                                                                                                                                                                                                                                                                                                                          v2220v41v2220v52v1)
                                                                                                                                                                                                                                                                                                                       fv2220v41v2220v52v1))))
                                                                                                                                                                                                                                                                                                 v2218v41v2218v52v1
                                                                                                                                                                                                                                                                                                   _
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.fromLitString
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                               in
                                                                                                                                                                                                                                                                                               v2218v41v2218v52v1)
                                                                                                                                                                                                                                                                                            fv2218v41v2218v52v1))))
                                                                                                                                                                                                                                                                      v2216v41v2216v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2216v41v2216v51v1)
                                                                                                                                                                                                                                                                 fv2216v41v2216v51v1))))
                                                                                                                                                                                                                                           v2214v41v2214v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2214v41v2214v51v1)
                                                                                                                                                                                                                                      fv2214v41v2214v51v1))))
                                                                                                                                                                                                                v2212v41v2212v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2212v41v2212v51v1)
                                                                                                                                                                                                           fv2212v41v2212v51v1))))
                                                                                                                                                                                     v2210v41v2210v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2210v41v2210v51v1)
                                                                                                                                                                                fv2210v41v2210v51v1))))
                                                                                                                                                          v2208v41v2208v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2208v41v2208v51v1)
                                                                                                                                                     fv2208v41v2208v51v1))))
                                                                                                                               v2206v41v2206v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2206v41v2206v51v1)
                                                                                                                          fv2206v41v2206v51v1))))
                                                                                                    v2204v41v2204v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2204v41v2204v51v1)
                                                                                               fv2204v41v2204v51v1))))
                                                                         v2202v41v2202v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2202v41v2202v51v1)
                                                                    fv2202v41v2202v51v1))))
                                              v2200v41v2200v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2200v41v2200v51v1)
                                         fv2200v41v2200v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h, Read i, Read j, Read k,
          Read l, Read m) =>
         Read (T.Tuple13 a b c d e f g h i j k l m) where
        greadsPrec preadsPrec p
          = T.ufun1 c2229v5v2257v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2231v41v2231v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2231v41v2231v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2233v41v2233v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2233v41v2233v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2235v41v2235v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2235v41v2235v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2237v41v2237v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2237v41v2237v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2239v41v2239v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2239v41v2239v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2241v41v2241v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2241v41v2241v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2243v41v2243v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2243v41v2243v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2245v41v2245v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2245v41v2245v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2247v41v2247v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2247v41v2247v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ','
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fs9)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap2
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.uap1
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (greads
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                               fs9)
                                                                                                                                                                                                                                                                            (T.ufun1
                                                                                                                                                                                                                                                                               T.mkDoLambda
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (\ (T.R
                                                                                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                        fr9)
                                                                                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  ->
                                                                                                                                                                                                                                                                                  T.uap2
                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                    ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                                                    (T.uwrapForward
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (hlex
                                                                                                                                                                                                                                                                                          fr9
                                                                                                                                                                                                                                                                                          p))
                                                                                                                                                                                                                                                                                    (T.ufun1
                                                                                                                                                                                                                                                                                       T.mkDoLambda
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (\ fv2249v41v2249v52v1
                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                          ->
                                                                                                                                                                                                                                                                                          T.uccase
                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                            (let v2249v41v2249v52v1
                                                                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                            (T.Cons
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  ','
                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  T.Nil
                                                                                                                                                                                                                                                                                                                  _))
                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                         fs10)
                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap2
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.uap1
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (greads
                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                          fs10)
                                                                                                                                                                                                                                                                                                       (T.ufun1
                                                                                                                                                                                                                                                                                                          T.mkDoLambda
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (\ (T.R
                                                                                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                                                                                   fx10
                                                                                                                                                                                                                                                                                                                   fr10)
                                                                                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                             ->
                                                                                                                                                                                                                                                                                                             T.uap2
                                                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                                                               (T.uwrapForward
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (hlex
                                                                                                                                                                                                                                                                                                                     fr10
                                                                                                                                                                                                                                                                                                                     p))
                                                                                                                                                                                                                                                                                                               (T.ufun1
                                                                                                                                                                                                                                                                                                                  T.mkDoLambda
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (\ fv2251v41v2251v52v1
                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                     ->
                                                                                                                                                                                                                                                                                                                     T.uccase
                                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                                       (let v2251v41v2251v52v1
                                                                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                       (T.Cons
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             ','
                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             T.Nil
                                                                                                                                                                                                                                                                                                                                             _))
                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                    fs11)
                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap2
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.uap1
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (greads
                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                     fs11)
                                                                                                                                                                                                                                                                                                                                  (T.ufun1
                                                                                                                                                                                                                                                                                                                                     T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (\ (T.R
                                                                                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                                                                                              fx11
                                                                                                                                                                                                                                                                                                                                              fr11)
                                                                                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                        ->
                                                                                                                                                                                                                                                                                                                                        T.uap2
                                                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                                                          (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (hlex
                                                                                                                                                                                                                                                                                                                                                fr11
                                                                                                                                                                                                                                                                                                                                                p))
                                                                                                                                                                                                                                                                                                                                          (T.ufun1
                                                                                                                                                                                                                                                                                                                                             T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (\ fv2253v41v2253v52v1
                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                ->
                                                                                                                                                                                                                                                                                                                                                T.uccase
                                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                                  (let v2253v41v2253v52v1
                                                                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                                                                            (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                  (T.Cons
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        ','
                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        T.Nil
                                                                                                                                                                                                                                                                                                                                                                        _))
                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                               fs12)
                                                                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap2
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.uap1
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (greads
                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                   p)
                                                                                                                                                                                                                                                                                                                                                                fs12)
                                                                                                                                                                                                                                                                                                                                                             (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                         fx12
                                                                                                                                                                                                                                                                                                                                                                         fr12)
                                                                                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                   ->
                                                                                                                                                                                                                                                                                                                                                                   T.uap2
                                                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                                                     (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (hlex
                                                                                                                                                                                                                                                                                                                                                                           fr12
                                                                                                                                                                                                                                                                                                                                                                           p))
                                                                                                                                                                                                                                                                                                                                                                     (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                        T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (\ fv2255v41v2255v52v1
                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                           ->
                                                                                                                                                                                                                                                                                                                                                                           T.uccase
                                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                                             (let v2255v41v2255v52v1
                                                                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                                                                       (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                                                                             (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   ','
                                                                                                                                                                                                                                                                                                                                                                                                   _)
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                   _))
                                                                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                                                                          fs13)
                                                                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap2
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.uap1
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           (greads
                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                              p)
                                                                                                                                                                                                                                                                                                                                                                                           fs13)
                                                                                                                                                                                                                                                                                                                                                                                        (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                    fx13
                                                                                                                                                                                                                                                                                                                                                                                                    fr13)
                                                                                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                              ->
                                                                                                                                                                                                                                                                                                                                                                                              T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                   p)
                                                                                                                                                                                                                                                                                                                                                                                                (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                   (hlex
                                                                                                                                                                                                                                                                                                                                                                                                      fr13
                                                                                                                                                                                                                                                                                                                                                                                                      p))
                                                                                                                                                                                                                                                                                                                                                                                                (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                   (\ fv2257v41v2257v51v1
                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                      ->
                                                                                                                                                                                                                                                                                                                                                                                                      T.uccase
                                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                                        (let v2257v41v2257v51v1
                                                                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                  (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                        (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                              ')'
                                                                                                                                                                                                                                                                                                                                                                                                                              _)
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                              T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                                              _))
                                                                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                                                                     fw)
                                                                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                                                                                                                               = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                   (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.con2
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                      T.aTuple2
                                                                                                                                                                                                                                                                                                                                                                                                                      (T.con13
                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                                                                                         T.Tuple13
                                                                                                                                                                                                                                                                                                                                                                                                                         T.aTuple13
                                                                                                                                                                                                                                                                                                                                                                                                                         fx1
                                                                                                                                                                                                                                                                                                                                                                                                                         fx2
                                                                                                                                                                                                                                                                                                                                                                                                                         fx3
                                                                                                                                                                                                                                                                                                                                                                                                                         fx4
                                                                                                                                                                                                                                                                                                                                                                                                                         fx5
                                                                                                                                                                                                                                                                                                                                                                                                                         fx6
                                                                                                                                                                                                                                                                                                                                                                                                                         fx7
                                                                                                                                                                                                                                                                                                                                                                                                                         fx8
                                                                                                                                                                                                                                                                                                                                                                                                                         fx9
                                                                                                                                                                                                                                                                                                                                                                                                                         fx10
                                                                                                                                                                                                                                                                                                                                                                                                                         fx11
                                                                                                                                                                                                                                                                                                                                                                                                                         fx12
                                                                                                                                                                                                                                                                                                                                                                                                                         fx13)
                                                                                                                                                                                                                                                                                                                                                                                                                      fw)
                                                                                                                                                                                                                                                                                                                                                                                                             v2257v41v2257v51v1
                                                                                                                                                                                                                                                                                                                                                                                                               _
                                                                                                                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                                                                                                                               = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                   (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                                           in
                                                                                                                                                                                                                                                                                                                                                                                                           v2257v41v2257v51v1)
                                                                                                                                                                                                                                                                                                                                                                                                        fv2257v41v2257v51v1))))
                                                                                                                                                                                                                                                                                                                                                                                  v2255v41v2255v52v1
                                                                                                                                                                                                                                                                                                                                                                                    _
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                in
                                                                                                                                                                                                                                                                                                                                                                                v2255v41v2255v52v1)
                                                                                                                                                                                                                                                                                                                                                                             fv2255v41v2255v52v1))))
                                                                                                                                                                                                                                                                                                                                                       v2253v41v2253v52v1
                                                                                                                                                                                                                                                                                                                                                         _
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap1
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                     in
                                                                                                                                                                                                                                                                                                                                                     v2253v41v2253v52v1)
                                                                                                                                                                                                                                                                                                                                                  fv2253v41v2253v52v1))))
                                                                                                                                                                                                                                                                                                                            v2251v41v2251v52v1
                                                                                                                                                                                                                                                                                                                              _
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap1
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.fromLitString
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                          in
                                                                                                                                                                                                                                                                                                                          v2251v41v2251v52v1)
                                                                                                                                                                                                                                                                                                                       fv2251v41v2251v52v1))))
                                                                                                                                                                                                                                                                                                 v2249v41v2249v52v1
                                                                                                                                                                                                                                                                                                   _
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.fromLitString
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                               in
                                                                                                                                                                                                                                                                                               v2249v41v2249v52v1)
                                                                                                                                                                                                                                                                                            fv2249v41v2249v52v1))))
                                                                                                                                                                                                                                                                      v2247v41v2247v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2247v41v2247v51v1)
                                                                                                                                                                                                                                                                 fv2247v41v2247v51v1))))
                                                                                                                                                                                                                                           v2245v41v2245v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2245v41v2245v51v1)
                                                                                                                                                                                                                                      fv2245v41v2245v51v1))))
                                                                                                                                                                                                                v2243v41v2243v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2243v41v2243v51v1)
                                                                                                                                                                                                           fv2243v41v2243v51v1))))
                                                                                                                                                                                     v2241v41v2241v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2241v41v2241v51v1)
                                                                                                                                                                                fv2241v41v2241v51v1))))
                                                                                                                                                          v2239v41v2239v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2239v41v2239v51v1)
                                                                                                                                                     fv2239v41v2239v51v1))))
                                                                                                                               v2237v41v2237v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2237v41v2237v51v1)
                                                                                                                          fv2237v41v2237v51v1))))
                                                                                                    v2235v41v2235v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2235v41v2235v51v1)
                                                                                               fv2235v41v2235v51v1))))
                                                                         v2233v41v2233v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2233v41v2233v51v1)
                                                                    fv2233v41v2233v51v1))))
                                              v2231v41v2231v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2231v41v2231v51v1)
                                         fv2231v41v2231v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h, Read i, Read j, Read k,
          Read l, Read m, Read n) =>
         Read (T.Tuple14 a b c d e f g h i j k l m n) where
        greadsPrec preadsPrec p
          = T.ufun1 c2262v5v2293v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2265v41v2265v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2265v41v2265v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2267v41v2267v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2267v41v2267v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2269v41v2269v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2269v41v2269v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2271v41v2271v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2271v41v2271v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2273v41v2273v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2273v41v2273v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2275v41v2275v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2275v41v2275v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2277v41v2277v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2277v41v2277v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2279v41v2279v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2279v41v2279v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2281v41v2281v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2281v41v2281v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ','
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fs9)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap2
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.uap1
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (greads
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                               fs9)
                                                                                                                                                                                                                                                                            (T.ufun1
                                                                                                                                                                                                                                                                               T.mkDoLambda
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (\ (T.R
                                                                                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                        fr9)
                                                                                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  ->
                                                                                                                                                                                                                                                                                  T.uap2
                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                    ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                                                    (T.uwrapForward
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (hlex
                                                                                                                                                                                                                                                                                          fr9
                                                                                                                                                                                                                                                                                          p))
                                                                                                                                                                                                                                                                                    (T.ufun1
                                                                                                                                                                                                                                                                                       T.mkDoLambda
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (\ fv2283v41v2283v52v1
                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                          ->
                                                                                                                                                                                                                                                                                          T.uccase
                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                            (let v2283v41v2283v52v1
                                                                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                            (T.Cons
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  ','
                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  T.Nil
                                                                                                                                                                                                                                                                                                                  _))
                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                         fs10)
                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap2
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.uap1
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (greads
                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                          fs10)
                                                                                                                                                                                                                                                                                                       (T.ufun1
                                                                                                                                                                                                                                                                                                          T.mkDoLambda
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (\ (T.R
                                                                                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                                                                                   fx10
                                                                                                                                                                                                                                                                                                                   fr10)
                                                                                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                             ->
                                                                                                                                                                                                                                                                                                             T.uap2
                                                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                                                               (T.uwrapForward
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (hlex
                                                                                                                                                                                                                                                                                                                     fr10
                                                                                                                                                                                                                                                                                                                     p))
                                                                                                                                                                                                                                                                                                               (T.ufun1
                                                                                                                                                                                                                                                                                                                  T.mkDoLambda
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (\ fv2285v41v2285v52v1
                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                     ->
                                                                                                                                                                                                                                                                                                                     T.uccase
                                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                                       (let v2285v41v2285v52v1
                                                                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                       (T.Cons
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             ','
                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             T.Nil
                                                                                                                                                                                                                                                                                                                                             _))
                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                    fs11)
                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap2
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.uap1
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (greads
                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                     fs11)
                                                                                                                                                                                                                                                                                                                                  (T.ufun1
                                                                                                                                                                                                                                                                                                                                     T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (\ (T.R
                                                                                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                                                                                              fx11
                                                                                                                                                                                                                                                                                                                                              fr11)
                                                                                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                        ->
                                                                                                                                                                                                                                                                                                                                        T.uap2
                                                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                                                          (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (hlex
                                                                                                                                                                                                                                                                                                                                                fr11
                                                                                                                                                                                                                                                                                                                                                p))
                                                                                                                                                                                                                                                                                                                                          (T.ufun1
                                                                                                                                                                                                                                                                                                                                             T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (\ fv2287v41v2287v52v1
                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                ->
                                                                                                                                                                                                                                                                                                                                                T.uccase
                                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                                  (let v2287v41v2287v52v1
                                                                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                                                                            (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                  (T.Cons
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        ','
                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        T.Nil
                                                                                                                                                                                                                                                                                                                                                                        _))
                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                               fs12)
                                                                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap2
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.uap1
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (greads
                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                   p)
                                                                                                                                                                                                                                                                                                                                                                fs12)
                                                                                                                                                                                                                                                                                                                                                             (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                         fx12
                                                                                                                                                                                                                                                                                                                                                                         fr12)
                                                                                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                   ->
                                                                                                                                                                                                                                                                                                                                                                   T.uap2
                                                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                                                     (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (hlex
                                                                                                                                                                                                                                                                                                                                                                           fr12
                                                                                                                                                                                                                                                                                                                                                                           p))
                                                                                                                                                                                                                                                                                                                                                                     (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                        T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (\ fv2289v41v2289v52v1
                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                           ->
                                                                                                                                                                                                                                                                                                                                                                           T.uccase
                                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                                             (let v2289v41v2289v52v1
                                                                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                                                                       (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                                                                             (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   ','
                                                                                                                                                                                                                                                                                                                                                                                                   _)
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                   _))
                                                                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                                                                          fs13)
                                                                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap2
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.uap1
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           (greads
                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                              p)
                                                                                                                                                                                                                                                                                                                                                                                           fs13)
                                                                                                                                                                                                                                                                                                                                                                                        (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                    fx13
                                                                                                                                                                                                                                                                                                                                                                                                    fr13)
                                                                                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                              ->
                                                                                                                                                                                                                                                                                                                                                                                              T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                   p)
                                                                                                                                                                                                                                                                                                                                                                                                (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                   (hlex
                                                                                                                                                                                                                                                                                                                                                                                                      fr13
                                                                                                                                                                                                                                                                                                                                                                                                      p))
                                                                                                                                                                                                                                                                                                                                                                                                (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                   (\ fv2291v41v2291v52v1
                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                      ->
                                                                                                                                                                                                                                                                                                                                                                                                      T.uccase
                                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                                        (let v2291v41v2291v52v1
                                                                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                  (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                        (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                              ','
                                                                                                                                                                                                                                                                                                                                                                                                                              _)
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                              T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                                              _))
                                                                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                                                                     fs14)
                                                                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                                                                                                                               = T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      (greads
                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                                                                                                                                                                                                                      fs14)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                            (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                               fx14
                                                                                                                                                                                                                                                                                                                                                                                                                               fr14)
                                                                                                                                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                                                                                         ->
                                                                                                                                                                                                                                                                                                                                                                                                                         T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                              p)
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                              (hlex
                                                                                                                                                                                                                                                                                                                                                                                                                                 fr14
                                                                                                                                                                                                                                                                                                                                                                                                                                 p))
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                              (\ fv2293v41v2293v51v1
                                                                                                                                                                                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                                                                                                                                                                                 ->
                                                                                                                                                                                                                                                                                                                                                                                                                                 T.uccase
                                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                                   (let v2293v41v2293v51v1
                                                                                                                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                             (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                   (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                                                                      (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                         ')'
                                                                                                                                                                                                                                                                                                                                                                                                                                                         _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                      (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                         T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                                                                         _))
                                                                                                                                                                                                                                                                                                                                                                                                                                                   _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                fw)
                                                                                                                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                                                                                                                          = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                                              (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                                                                                                                                                                                                                                              (T.con2
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.aTuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                 (T.con14
                                                                                                                                                                                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                                                                                    T.Tuple14
                                                                                                                                                                                                                                                                                                                                                                                                                                                    T.aTuple14
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx1
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx2
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx3
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx4
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx5
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx6
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx7
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx8
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx9
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx10
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx11
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx12
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx13
                                                                                                                                                                                                                                                                                                                                                                                                                                                    fx14)
                                                                                                                                                                                                                                                                                                                                                                                                                                                 fw)
                                                                                                                                                                                                                                                                                                                                                                                                                                        v2293v41v2293v51v1
                                                                                                                                                                                                                                                                                                                                                                                                                                          _
                                                                                                                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                                                                                                                          = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                                              (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                                                                                                                                                                                                                                              (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                                                                                                                                                                                                 "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                                                                      in
                                                                                                                                                                                                                                                                                                                                                                                                                                      v2293v41v2293v51v1)
                                                                                                                                                                                                                                                                                                                                                                                                                                   fv2293v41v2293v51v1))))
                                                                                                                                                                                                                                                                                                                                                                                                             v2291v41v2291v52v1
                                                                                                                                                                                                                                                                                                                                                                                                               _
                                                                                                                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                                                                                                                               = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                   (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                                           in
                                                                                                                                                                                                                                                                                                                                                                                                           v2291v41v2291v52v1)
                                                                                                                                                                                                                                                                                                                                                                                                        fv2291v41v2291v52v1))))
                                                                                                                                                                                                                                                                                                                                                                                  v2289v41v2289v52v1
                                                                                                                                                                                                                                                                                                                                                                                    _
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                in
                                                                                                                                                                                                                                                                                                                                                                                v2289v41v2289v52v1)
                                                                                                                                                                                                                                                                                                                                                                             fv2289v41v2289v52v1))))
                                                                                                                                                                                                                                                                                                                                                       v2287v41v2287v52v1
                                                                                                                                                                                                                                                                                                                                                         _
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap1
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                     in
                                                                                                                                                                                                                                                                                                                                                     v2287v41v2287v52v1)
                                                                                                                                                                                                                                                                                                                                                  fv2287v41v2287v52v1))))
                                                                                                                                                                                                                                                                                                                            v2285v41v2285v52v1
                                                                                                                                                                                                                                                                                                                              _
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap1
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.fromLitString
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                          in
                                                                                                                                                                                                                                                                                                                          v2285v41v2285v52v1)
                                                                                                                                                                                                                                                                                                                       fv2285v41v2285v52v1))))
                                                                                                                                                                                                                                                                                                 v2283v41v2283v52v1
                                                                                                                                                                                                                                                                                                   _
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.fromLitString
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                               in
                                                                                                                                                                                                                                                                                               v2283v41v2283v52v1)
                                                                                                                                                                                                                                                                                            fv2283v41v2283v52v1))))
                                                                                                                                                                                                                                                                      v2281v41v2281v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2281v41v2281v51v1)
                                                                                                                                                                                                                                                                 fv2281v41v2281v51v1))))
                                                                                                                                                                                                                                           v2279v41v2279v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2279v41v2279v51v1)
                                                                                                                                                                                                                                      fv2279v41v2279v51v1))))
                                                                                                                                                                                                                v2277v41v2277v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2277v41v2277v51v1)
                                                                                                                                                                                                           fv2277v41v2277v51v1))))
                                                                                                                                                                                     v2275v41v2275v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2275v41v2275v51v1)
                                                                                                                                                                                fv2275v41v2275v51v1))))
                                                                                                                                                          v2273v41v2273v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2273v41v2273v51v1)
                                                                                                                                                     fv2273v41v2273v51v1))))
                                                                                                                               v2271v41v2271v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2271v41v2271v51v1)
                                                                                                                          fv2271v41v2271v51v1))))
                                                                                                    v2269v41v2269v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2269v41v2269v51v1)
                                                                                               fv2269v41v2269v51v1))))
                                                                         v2267v41v2267v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2267v41v2267v51v1)
                                                                    fv2267v41v2267v51v1))))
                                              v2265v41v2265v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2265v41v2265v51v1)
                                         fv2265v41v2265v51v1))))
                         p)
 
instance (Read a, Read b, Read c, Read d, Read e,
          Read f, Read g, Read h, Read i, Read j, Read k,
          Read l, Read m, Read n, Read o) =>
         Read (T.Tuple15 a b c d e f g h i j k l m n o) where
        greadsPrec preadsPrec p
          = T.ufun1 c2298v5v2331v63readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr0 p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uwrapForward p (hlex fr0 p))
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ fv2301v41v2301v51v1 p ->
                                       T.uccase T.mkNoSrcPos p
                                         (let v2301v41v2301v51v1
                                                (T.R
                                                   (T.Tuple2
                                                      (T.R
                                                         (T.Cons (T.R '(' _)
                                                            (T.R T.Nil _))
                                                         _)
                                                      fs1)
                                                   _)
                                                p
                                                = T.uap2 T.mkNoSrcPos p
                                                    ((Hat.PreludeBasic.!>>=)
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (greads T.mkNoSrcPos p)
                                                       fs1)
                                                    (T.ufun1 T.mkDoLambda
                                                       T.mkNoSrcPos
                                                       p
                                                       (\ (T.R
                                                             (T.Tuple2 fx1 fr1)
                                                             _)
                                                          p ->
                                                          T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uwrapForward p
                                                               (hlex fr1 p))
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ fv2303v41v2303v51v1
                                                                  p ->
                                                                  T.uccase
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (let v2303v41v2303v51v1
                                                                           (T.R
                                                                              (T.Tuple2
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          ','
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _)
                                                                                 fs2)
                                                                              _)
                                                                           p
                                                                           = T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (greads
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fs2)
                                                                               (T.ufun1
                                                                                  T.mkDoLambda
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (\ (T.R
                                                                                        (T.Tuple2
                                                                                           fx2
                                                                                           fr2)
                                                                                        _)
                                                                                     p
                                                                                     ->
                                                                                     T.uap2
                                                                                       T.mkNoSrcPos
                                                                                       p
                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                          T.mkNoSrcPos
                                                                                          p)
                                                                                       (T.uwrapForward
                                                                                          p
                                                                                          (hlex
                                                                                             fr2
                                                                                             p))
                                                                                       (T.ufun1
                                                                                          T.mkDoLambda
                                                                                          T.mkNoSrcPos
                                                                                          p
                                                                                          (\ fv2305v41v2305v51v1
                                                                                             p
                                                                                             ->
                                                                                             T.uccase
                                                                                               T.mkNoSrcPos
                                                                                               p
                                                                                               (let v2305v41v2305v51v1
                                                                                                      (T.R
                                                                                                         (T.Tuple2
                                                                                                            (T.R
                                                                                                               (T.Cons
                                                                                                                  (T.R
                                                                                                                     ','
                                                                                                                     _)
                                                                                                                  (T.R
                                                                                                                     T.Nil
                                                                                                                     _))
                                                                                                               _)
                                                                                                            fs3)
                                                                                                         _)
                                                                                                      p
                                                                                                      = T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (greads
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             fs3)
                                                                                                          (T.ufun1
                                                                                                             T.mkDoLambda
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (\ (T.R
                                                                                                                   (T.Tuple2
                                                                                                                      fx3
                                                                                                                      fr3)
                                                                                                                   _)
                                                                                                                p
                                                                                                                ->
                                                                                                                T.uap2
                                                                                                                  T.mkNoSrcPos
                                                                                                                  p
                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p)
                                                                                                                  (T.uwrapForward
                                                                                                                     p
                                                                                                                     (hlex
                                                                                                                        fr3
                                                                                                                        p))
                                                                                                                  (T.ufun1
                                                                                                                     T.mkDoLambda
                                                                                                                     T.mkNoSrcPos
                                                                                                                     p
                                                                                                                     (\ fv2307v41v2307v51v1
                                                                                                                        p
                                                                                                                        ->
                                                                                                                        T.uccase
                                                                                                                          T.mkNoSrcPos
                                                                                                                          p
                                                                                                                          (let v2307v41v2307v51v1
                                                                                                                                 (T.R
                                                                                                                                    (T.Tuple2
                                                                                                                                       (T.R
                                                                                                                                          (T.Cons
                                                                                                                                             (T.R
                                                                                                                                                ','
                                                                                                                                                _)
                                                                                                                                             (T.R
                                                                                                                                                T.Nil
                                                                                                                                                _))
                                                                                                                                          _)
                                                                                                                                       fs4)
                                                                                                                                    _)
                                                                                                                                 p
                                                                                                                                 = T.uap2
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.uap1
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (greads
                                                                                                                                           T.mkNoSrcPos
                                                                                                                                           p)
                                                                                                                                        fs4)
                                                                                                                                     (T.ufun1
                                                                                                                                        T.mkDoLambda
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        (\ (T.R
                                                                                                                                              (T.Tuple2
                                                                                                                                                 fx4
                                                                                                                                                 fr4)
                                                                                                                                              _)
                                                                                                                                           p
                                                                                                                                           ->
                                                                                                                                           T.uap2
                                                                                                                                             T.mkNoSrcPos
                                                                                                                                             p
                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p)
                                                                                                                                             (T.uwrapForward
                                                                                                                                                p
                                                                                                                                                (hlex
                                                                                                                                                   fr4
                                                                                                                                                   p))
                                                                                                                                             (T.ufun1
                                                                                                                                                T.mkDoLambda
                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                p
                                                                                                                                                (\ fv2309v41v2309v51v1
                                                                                                                                                   p
                                                                                                                                                   ->
                                                                                                                                                   T.uccase
                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                     p
                                                                                                                                                     (let v2309v41v2309v51v1
                                                                                                                                                            (T.R
                                                                                                                                                               (T.Tuple2
                                                                                                                                                                  (T.R
                                                                                                                                                                     (T.Cons
                                                                                                                                                                        (T.R
                                                                                                                                                                           ','
                                                                                                                                                                           _)
                                                                                                                                                                        (T.R
                                                                                                                                                                           T.Nil
                                                                                                                                                                           _))
                                                                                                                                                                     _)
                                                                                                                                                                  fs5)
                                                                                                                                                               _)
                                                                                                                                                            p
                                                                                                                                                            = T.uap2
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.uap1
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (greads
                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                      p)
                                                                                                                                                                   fs5)
                                                                                                                                                                (T.ufun1
                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   (\ (T.R
                                                                                                                                                                         (T.Tuple2
                                                                                                                                                                            fx5
                                                                                                                                                                            fr5)
                                                                                                                                                                         _)
                                                                                                                                                                      p
                                                                                                                                                                      ->
                                                                                                                                                                      T.uap2
                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                        p
                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p)
                                                                                                                                                                        (T.uwrapForward
                                                                                                                                                                           p
                                                                                                                                                                           (hlex
                                                                                                                                                                              fr5
                                                                                                                                                                              p))
                                                                                                                                                                        (T.ufun1
                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                           p
                                                                                                                                                                           (\ fv2311v41v2311v51v1
                                                                                                                                                                              p
                                                                                                                                                                              ->
                                                                                                                                                                              T.uccase
                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                p
                                                                                                                                                                                (let v2311v41v2311v51v1
                                                                                                                                                                                       (T.R
                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                             (T.R
                                                                                                                                                                                                (T.Cons
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      ','
                                                                                                                                                                                                      _)
                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                      T.Nil
                                                                                                                                                                                                      _))
                                                                                                                                                                                                _)
                                                                                                                                                                                             fs6)
                                                                                                                                                                                          _)
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap2
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.uap1
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (greads
                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                 p)
                                                                                                                                                                                              fs6)
                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              (\ (T.R
                                                                                                                                                                                                    (T.Tuple2
                                                                                                                                                                                                       fx6
                                                                                                                                                                                                       fr6)
                                                                                                                                                                                                    _)
                                                                                                                                                                                                 p
                                                                                                                                                                                                 ->
                                                                                                                                                                                                 T.uap2
                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                   p
                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p)
                                                                                                                                                                                                   (T.uwrapForward
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (hlex
                                                                                                                                                                                                         fr6
                                                                                                                                                                                                         p))
                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                      p
                                                                                                                                                                                                      (\ fv2313v41v2313v51v1
                                                                                                                                                                                                         p
                                                                                                                                                                                                         ->
                                                                                                                                                                                                         T.uccase
                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                           p
                                                                                                                                                                                                           (let v2313v41v2313v51v1
                                                                                                                                                                                                                  (T.R
                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                           (T.Cons
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 ','
                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                 T.Nil
                                                                                                                                                                                                                                 _))
                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                        fs7)
                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap2
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.uap1
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (greads
                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                         fs7)
                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         (\ (T.R
                                                                                                                                                                                                                               (T.Tuple2
                                                                                                                                                                                                                                  fx7
                                                                                                                                                                                                                                  fr7)
                                                                                                                                                                                                                               _)
                                                                                                                                                                                                                            p
                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                            T.uap2
                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                              p
                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                              (T.uwrapForward
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (hlex
                                                                                                                                                                                                                                    fr7
                                                                                                                                                                                                                                    p))
                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                 (\ fv2315v41v2315v51v1
                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                    T.uccase
                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                      (let v2315v41v2315v51v1
                                                                                                                                                                                                                                             (T.R
                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                      (T.Cons
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            ','
                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                            T.Nil
                                                                                                                                                                                                                                                            _))
                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                   fs8)
                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap2
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.uap1
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (greads
                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                    fs8)
                                                                                                                                                                                                                                                 (T.ufun1
                                                                                                                                                                                                                                                    T.mkDoLambda
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    (\ (T.R
                                                                                                                                                                                                                                                          (T.Tuple2
                                                                                                                                                                                                                                                             fx8
                                                                                                                                                                                                                                                             fr8)
                                                                                                                                                                                                                                                          _)
                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                       ->
                                                                                                                                                                                                                                                       T.uap2
                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                         ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                         (T.uwrapForward
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (hlex
                                                                                                                                                                                                                                                               fr8
                                                                                                                                                                                                                                                               p))
                                                                                                                                                                                                                                                         (T.ufun1
                                                                                                                                                                                                                                                            T.mkDoLambda
                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                            (\ fv2317v41v2317v51v1
                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                               ->
                                                                                                                                                                                                                                                               T.uccase
                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                 (let v2317v41v2317v51v1
                                                                                                                                                                                                                                                                        (T.R
                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                 (T.Cons
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       ','
                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                       T.Nil
                                                                                                                                                                                                                                                                                       _))
                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                              fs9)
                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap2
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.uap1
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (greads
                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                               fs9)
                                                                                                                                                                                                                                                                            (T.ufun1
                                                                                                                                                                                                                                                                               T.mkDoLambda
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               (\ (T.R
                                                                                                                                                                                                                                                                                     (T.Tuple2
                                                                                                                                                                                                                                                                                        fx9
                                                                                                                                                                                                                                                                                        fr9)
                                                                                                                                                                                                                                                                                     _)
                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                  ->
                                                                                                                                                                                                                                                                                  T.uap2
                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                    ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p)
                                                                                                                                                                                                                                                                                    (T.uwrapForward
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (hlex
                                                                                                                                                                                                                                                                                          fr9
                                                                                                                                                                                                                                                                                          p))
                                                                                                                                                                                                                                                                                    (T.ufun1
                                                                                                                                                                                                                                                                                       T.mkDoLambda
                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                       (\ fv2319v41v2319v52v1
                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                          ->
                                                                                                                                                                                                                                                                                          T.uccase
                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                            (let v2319v41v2319v52v1
                                                                                                                                                                                                                                                                                                   (T.R
                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                            (T.Cons
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  ','
                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                  T.Nil
                                                                                                                                                                                                                                                                                                                  _))
                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                         fs10)
                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap2
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.uap1
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (greads
                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                          fs10)
                                                                                                                                                                                                                                                                                                       (T.ufun1
                                                                                                                                                                                                                                                                                                          T.mkDoLambda
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          (\ (T.R
                                                                                                                                                                                                                                                                                                                (T.Tuple2
                                                                                                                                                                                                                                                                                                                   fx10
                                                                                                                                                                                                                                                                                                                   fr10)
                                                                                                                                                                                                                                                                                                                _)
                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                             ->
                                                                                                                                                                                                                                                                                                             T.uap2
                                                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                               ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p)
                                                                                                                                                                                                                                                                                                               (T.uwrapForward
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (hlex
                                                                                                                                                                                                                                                                                                                     fr10
                                                                                                                                                                                                                                                                                                                     p))
                                                                                                                                                                                                                                                                                                               (T.ufun1
                                                                                                                                                                                                                                                                                                                  T.mkDoLambda
                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                  (\ fv2321v41v2321v52v1
                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                     ->
                                                                                                                                                                                                                                                                                                                     T.uccase
                                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                                       (let v2321v41v2321v52v1
                                                                                                                                                                                                                                                                                                                              (T.R
                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                       (T.Cons
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             ','
                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                             T.Nil
                                                                                                                                                                                                                                                                                                                                             _))
                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                    fs11)
                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap2
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.uap1
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (greads
                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                     fs11)
                                                                                                                                                                                                                                                                                                                                  (T.ufun1
                                                                                                                                                                                                                                                                                                                                     T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     (\ (T.R
                                                                                                                                                                                                                                                                                                                                           (T.Tuple2
                                                                                                                                                                                                                                                                                                                                              fx11
                                                                                                                                                                                                                                                                                                                                              fr11)
                                                                                                                                                                                                                                                                                                                                           _)
                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                        ->
                                                                                                                                                                                                                                                                                                                                        T.uap2
                                                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                          ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p)
                                                                                                                                                                                                                                                                                                                                          (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (hlex
                                                                                                                                                                                                                                                                                                                                                fr11
                                                                                                                                                                                                                                                                                                                                                p))
                                                                                                                                                                                                                                                                                                                                          (T.ufun1
                                                                                                                                                                                                                                                                                                                                             T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                             (\ fv2323v41v2323v52v1
                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                ->
                                                                                                                                                                                                                                                                                                                                                T.uccase
                                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                                  (let v2323v41v2323v52v1
                                                                                                                                                                                                                                                                                                                                                         (T.R
                                                                                                                                                                                                                                                                                                                                                            (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                  (T.Cons
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        ','
                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                        T.Nil
                                                                                                                                                                                                                                                                                                                                                                        _))
                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                               fs12)
                                                                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap2
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.uap1
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (greads
                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                   p)
                                                                                                                                                                                                                                                                                                                                                                fs12)
                                                                                                                                                                                                                                                                                                                                                             (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                      (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                         fx12
                                                                                                                                                                                                                                                                                                                                                                         fr12)
                                                                                                                                                                                                                                                                                                                                                                      _)
                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                   ->
                                                                                                                                                                                                                                                                                                                                                                   T.uap2
                                                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                                                     ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p)
                                                                                                                                                                                                                                                                                                                                                                     (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (hlex
                                                                                                                                                                                                                                                                                                                                                                           fr12
                                                                                                                                                                                                                                                                                                                                                                           p))
                                                                                                                                                                                                                                                                                                                                                                     (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                        T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                        (\ fv2325v41v2325v52v1
                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                           ->
                                                                                                                                                                                                                                                                                                                                                                           T.uccase
                                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                                             (let v2325v41v2325v52v1
                                                                                                                                                                                                                                                                                                                                                                                    (T.R
                                                                                                                                                                                                                                                                                                                                                                                       (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                                                                             (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   ','
                                                                                                                                                                                                                                                                                                                                                                                                   _)
                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                   T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                   _))
                                                                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                                                                          fs13)
                                                                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap2
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.uap1
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           (greads
                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                              p)
                                                                                                                                                                                                                                                                                                                                                                                           fs13)
                                                                                                                                                                                                                                                                                                                                                                                        (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                           T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                                                 (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                    fx13
                                                                                                                                                                                                                                                                                                                                                                                                    fr13)
                                                                                                                                                                                                                                                                                                                                                                                                 _)
                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                              ->
                                                                                                                                                                                                                                                                                                                                                                                              T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                                                ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                   p)
                                                                                                                                                                                                                                                                                                                                                                                                (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                   (hlex
                                                                                                                                                                                                                                                                                                                                                                                                      fr13
                                                                                                                                                                                                                                                                                                                                                                                                      p))
                                                                                                                                                                                                                                                                                                                                                                                                (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                   (\ fv2327v41v2327v52v1
                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                      ->
                                                                                                                                                                                                                                                                                                                                                                                                      T.uccase
                                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                                        (let v2327v41v2327v52v1
                                                                                                                                                                                                                                                                                                                                                                                                               (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                  (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                        (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                              ','
                                                                                                                                                                                                                                                                                                                                                                                                                              _)
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                              T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                                              _))
                                                                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                                                                     fs14)
                                                                                                                                                                                                                                                                                                                                                                                                                  _)
                                                                                                                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                                                                                                                               = T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                   ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      (greads
                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                                                                                                                                                                                                                      fs14)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                            (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                               fx14
                                                                                                                                                                                                                                                                                                                                                                                                                               fr14)
                                                                                                                                                                                                                                                                                                                                                                                                                            _)
                                                                                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                                                                                         ->
                                                                                                                                                                                                                                                                                                                                                                                                                         T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                                                           ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                              p)
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                              (hlex
                                                                                                                                                                                                                                                                                                                                                                                                                                 fr14
                                                                                                                                                                                                                                                                                                                                                                                                                                 p))
                                                                                                                                                                                                                                                                                                                                                                                                                           (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                              (\ fv2329v41v2329v52v1
                                                                                                                                                                                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                                                                                                                                                                                 ->
                                                                                                                                                                                                                                                                                                                                                                                                                                 T.uccase
                                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                                   (let v2329v41v2329v52v1
                                                                                                                                                                                                                                                                                                                                                                                                                                          (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                             (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                   (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                                                                      (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                         ','
                                                                                                                                                                                                                                                                                                                                                                                                                                                         _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                      (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                         T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                                                                         _))
                                                                                                                                                                                                                                                                                                                                                                                                                                                   _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                fs15)
                                                                                                                                                                                                                                                                                                                                                                                                                                             _)
                                                                                                                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                                                                                                                          = T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                                              ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                                                                                                                                                                                                                                              (T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                                                                                                                                                                                                 (greads
                                                                                                                                                                                                                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                                                                                                                                                                                                                 fs15)
                                                                                                                                                                                                                                                                                                                                                                                                                                              (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                                                                                                                                                                                                 (\ (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                       (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                          fx15
                                                                                                                                                                                                                                                                                                                                                                                                                                                          fr15)
                                                                                                                                                                                                                                                                                                                                                                                                                                                       _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                                                                                    ->
                                                                                                                                                                                                                                                                                                                                                                                                                                                    T.uap2
                                                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                                                      ((Hat.PreludeBasic.!>>=)
                                                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                                                                                                                                                                                                                                                      (T.uwrapForward
                                                                                                                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                                                                                                                         (hlex
                                                                                                                                                                                                                                                                                                                                                                                                                                                            fr15
                                                                                                                                                                                                                                                                                                                                                                                                                                                            p))
                                                                                                                                                                                                                                                                                                                                                                                                                                                      (T.ufun1
                                                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkDoLambda
                                                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                                                                                                                         (\ fv2331v41v2331v51v1
                                                                                                                                                                                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                                                                                                                                                                                            ->
                                                                                                                                                                                                                                                                                                                                                                                                                                                            T.uccase
                                                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                                                              (let v2331v41v2331v51v1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                     (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        (T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (T.Cons
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ')'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 (T.R
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    T.Nil
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    _))
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                           fw)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        _)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                     = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         (Hat.PreludeBasic.greturn
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         (T.con2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            T.Tuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            T.aTuple2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (T.con15
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               T.Tuple15
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               T.aTuple15
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx2
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx3
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx4
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx5
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx6
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx7
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx8
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx9
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx10
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx11
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx12
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx13
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx14
                                                                                                                                                                                                                                                                                                                                                                                                                                                                               fx15)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            fw)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                   v2331v41v2331v51v1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                     _
                                                                                                                                                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                     = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            p)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                         (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                 in
                                                                                                                                                                                                                                                                                                                                                                                                                                                                 v2331v41v2331v51v1)
                                                                                                                                                                                                                                                                                                                                                                                                                                                              fv2331v41v2331v51v1))))
                                                                                                                                                                                                                                                                                                                                                                                                                                        v2329v41v2329v52v1
                                                                                                                                                                                                                                                                                                                                                                                                                                          _
                                                                                                                                                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                                                                                                                                                          = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                                                                                                                                              (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p)
                                                                                                                                                                                                                                                                                                                                                                                                                                              (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                                                                                                                                                                                                                 "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                                                                      in
                                                                                                                                                                                                                                                                                                                                                                                                                                      v2329v41v2329v52v1)
                                                                                                                                                                                                                                                                                                                                                                                                                                   fv2329v41v2329v52v1))))
                                                                                                                                                                                                                                                                                                                                                                                                             v2327v41v2327v52v1
                                                                                                                                                                                                                                                                                                                                                                                                               _
                                                                                                                                                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                                                                                                                                                               = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                                                                                                                                   (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p)
                                                                                                                                                                                                                                                                                                                                                                                                                   (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                                                      p
                                                                                                                                                                                                                                                                                                                                                                                                                      "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                                           in
                                                                                                                                                                                                                                                                                                                                                                                                           v2327v41v2327v52v1)
                                                                                                                                                                                                                                                                                                                                                                                                        fv2327v41v2327v52v1))))
                                                                                                                                                                                                                                                                                                                                                                                  v2325v41v2325v52v1
                                                                                                                                                                                                                                                                                                                                                                                    _
                                                                                                                                                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                                                                                                                                                    = T.uap1
                                                                                                                                                                                                                                                                                                                                                                                        T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                                                                                                                                        (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p)
                                                                                                                                                                                                                                                                                                                                                                                        (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                                           p
                                                                                                                                                                                                                                                                                                                                                                                           "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                                                in
                                                                                                                                                                                                                                                                                                                                                                                v2325v41v2325v52v1)
                                                                                                                                                                                                                                                                                                                                                                             fv2325v41v2325v52v1))))
                                                                                                                                                                                                                                                                                                                                                       v2323v41v2323v52v1
                                                                                                                                                                                                                                                                                                                                                         _
                                                                                                                                                                                                                                                                                                                                                         p
                                                                                                                                                                                                                                                                                                                                                         = T.uap1
                                                                                                                                                                                                                                                                                                                                                             T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                                                                                                                                             (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p)
                                                                                                                                                                                                                                                                                                                                                             (T.fromLitString
                                                                                                                                                                                                                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                                                p
                                                                                                                                                                                                                                                                                                                                                                "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                                                     in
                                                                                                                                                                                                                                                                                                                                                     v2323v41v2323v52v1)
                                                                                                                                                                                                                                                                                                                                                  fv2323v41v2323v52v1))))
                                                                                                                                                                                                                                                                                                                            v2321v41v2321v52v1
                                                                                                                                                                                                                                                                                                                              _
                                                                                                                                                                                                                                                                                                                              p
                                                                                                                                                                                                                                                                                                                              = T.uap1
                                                                                                                                                                                                                                                                                                                                  T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                  p
                                                                                                                                                                                                                                                                                                                                  (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p)
                                                                                                                                                                                                                                                                                                                                  (T.fromLitString
                                                                                                                                                                                                                                                                                                                                     T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                                                     p
                                                                                                                                                                                                                                                                                                                                     "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                                                          in
                                                                                                                                                                                                                                                                                                                          v2321v41v2321v52v1)
                                                                                                                                                                                                                                                                                                                       fv2321v41v2321v52v1))))
                                                                                                                                                                                                                                                                                                 v2319v41v2319v52v1
                                                                                                                                                                                                                                                                                                   _
                                                                                                                                                                                                                                                                                                   p
                                                                                                                                                                                                                                                                                                   = T.uap1
                                                                                                                                                                                                                                                                                                       T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                       p
                                                                                                                                                                                                                                                                                                       (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p)
                                                                                                                                                                                                                                                                                                       (T.fromLitString
                                                                                                                                                                                                                                                                                                          T.mkNoSrcPos
                                                                                                                                                                                                                                                                                                          p
                                                                                                                                                                                                                                                                                                          "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                                               in
                                                                                                                                                                                                                                                                                               v2319v41v2319v52v1)
                                                                                                                                                                                                                                                                                            fv2319v41v2319v52v1))))
                                                                                                                                                                                                                                                                      v2317v41v2317v51v1
                                                                                                                                                                                                                                                                        _
                                                                                                                                                                                                                                                                        p
                                                                                                                                                                                                                                                                        = T.uap1
                                                                                                                                                                                                                                                                            T.mkNoSrcPos
                                                                                                                                                                                                                                                                            p
                                                                                                                                                                                                                                                                            (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p)
                                                                                                                                                                                                                                                                            (T.fromLitString
                                                                                                                                                                                                                                                                               T.mkNoSrcPos
                                                                                                                                                                                                                                                                               p
                                                                                                                                                                                                                                                                               "pattern-match failure in do-expression")
                                                                                                                                                                                                                                                                    in
                                                                                                                                                                                                                                                                    v2317v41v2317v51v1)
                                                                                                                                                                                                                                                                 fv2317v41v2317v51v1))))
                                                                                                                                                                                                                                           v2315v41v2315v51v1
                                                                                                                                                                                                                                             _
                                                                                                                                                                                                                                             p
                                                                                                                                                                                                                                             = T.uap1
                                                                                                                                                                                                                                                 T.mkNoSrcPos
                                                                                                                                                                                                                                                 p
                                                                                                                                                                                                                                                 (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p)
                                                                                                                                                                                                                                                 (T.fromLitString
                                                                                                                                                                                                                                                    T.mkNoSrcPos
                                                                                                                                                                                                                                                    p
                                                                                                                                                                                                                                                    "pattern-match failure in do-expression")
                                                                                                                                                                                                                                         in
                                                                                                                                                                                                                                         v2315v41v2315v51v1)
                                                                                                                                                                                                                                      fv2315v41v2315v51v1))))
                                                                                                                                                                                                                v2313v41v2313v51v1
                                                                                                                                                                                                                  _
                                                                                                                                                                                                                  p
                                                                                                                                                                                                                  = T.uap1
                                                                                                                                                                                                                      T.mkNoSrcPos
                                                                                                                                                                                                                      p
                                                                                                                                                                                                                      (Hat.PreludeBasic.gfail
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p)
                                                                                                                                                                                                                      (T.fromLitString
                                                                                                                                                                                                                         T.mkNoSrcPos
                                                                                                                                                                                                                         p
                                                                                                                                                                                                                         "pattern-match failure in do-expression")
                                                                                                                                                                                                              in
                                                                                                                                                                                                              v2313v41v2313v51v1)
                                                                                                                                                                                                           fv2313v41v2313v51v1))))
                                                                                                                                                                                     v2311v41v2311v51v1
                                                                                                                                                                                       _
                                                                                                                                                                                       p
                                                                                                                                                                                       = T.uap1
                                                                                                                                                                                           T.mkNoSrcPos
                                                                                                                                                                                           p
                                                                                                                                                                                           (Hat.PreludeBasic.gfail
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p)
                                                                                                                                                                                           (T.fromLitString
                                                                                                                                                                                              T.mkNoSrcPos
                                                                                                                                                                                              p
                                                                                                                                                                                              "pattern-match failure in do-expression")
                                                                                                                                                                                   in
                                                                                                                                                                                   v2311v41v2311v51v1)
                                                                                                                                                                                fv2311v41v2311v51v1))))
                                                                                                                                                          v2309v41v2309v51v1
                                                                                                                                                            _
                                                                                                                                                            p
                                                                                                                                                            = T.uap1
                                                                                                                                                                T.mkNoSrcPos
                                                                                                                                                                p
                                                                                                                                                                (Hat.PreludeBasic.gfail
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p)
                                                                                                                                                                (T.fromLitString
                                                                                                                                                                   T.mkNoSrcPos
                                                                                                                                                                   p
                                                                                                                                                                   "pattern-match failure in do-expression")
                                                                                                                                                        in
                                                                                                                                                        v2309v41v2309v51v1)
                                                                                                                                                     fv2309v41v2309v51v1))))
                                                                                                                               v2307v41v2307v51v1
                                                                                                                                 _
                                                                                                                                 p
                                                                                                                                 = T.uap1
                                                                                                                                     T.mkNoSrcPos
                                                                                                                                     p
                                                                                                                                     (Hat.PreludeBasic.gfail
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p)
                                                                                                                                     (T.fromLitString
                                                                                                                                        T.mkNoSrcPos
                                                                                                                                        p
                                                                                                                                        "pattern-match failure in do-expression")
                                                                                                                             in
                                                                                                                             v2307v41v2307v51v1)
                                                                                                                          fv2307v41v2307v51v1))))
                                                                                                    v2305v41v2305v51v1
                                                                                                      _
                                                                                                      p
                                                                                                      = T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (Hat.PreludeBasic.gfail
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.fromLitString
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             "pattern-match failure in do-expression")
                                                                                                  in
                                                                                                  v2305v41v2305v51v1)
                                                                                               fv2305v41v2305v51v1))))
                                                                         v2303v41v2303v51v1
                                                                           _ p
                                                                           = T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (Hat.PreludeBasic.gfail
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  "pattern-match failure in do-expression")
                                                                       in
                                                                       v2303v41v2303v51v1)
                                                                    fv2303v41v2303v51v1))))
                                              v2301v41v2301v51v1 _ p
                                                = T.uap1 T.mkNoSrcPos p
                                                    (Hat.PreludeBasic.gfail
                                                       T.mkNoSrcPos
                                                       p)
                                                    (T.fromLitString
                                                       T.mkNoSrcPos
                                                       p
                                                       "pattern-match failure in do-expression")
                                            in v2301v41v2301v51v1)
                                         fv2301v41v2301v51v1))))
                         p)
 
instance (Show a, Show b, Show c) => Show
         (T.Tuple3 a b c) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2335v5v2337v63showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R (T.Tuple3 fx fy fz) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshowChar T.mkNoSrcPos p)
                                        (T.conChar T.mkNoSrcPos p ')')))))))
 
instance (Show a, Show b, Show c, Show d) => Show
         (T.Tuple4 a b c d) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2344v5v2347v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R (T.Tuple4 fx fy fz fu) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshowChar T.mkNoSrcPos p)
                                              (T.conChar T.mkNoSrcPos p
                                                 ')')))))))))
 
instance (Show a, Show b, Show c, Show d, Show e) =>
         Show (T.Tuple5 a b c d e) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2355v5v2359v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R (T.Tuple5 fx fy fz fu fv) _)
                  p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshowChar T.mkNoSrcPos p)
                                                    (T.conChar T.mkNoSrcPos p
                                                       ')')))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f) =>
         Show (T.Tuple6 a b c d e f) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2369v5v2374v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R (T.Tuple6 fx fy fz fu fv fw) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshowChar
                                                             T.mkNoSrcPos
                                                             p)
                                                          (T.conChar
                                                             T.mkNoSrcPos
                                                             p
                                                             ')')))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g) =>
         Show (T.Tuple7 a b c d e f g) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2385v5v2391v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R (T.Tuple7 fx fy fz fu fv fw ft) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshowChar
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.conChar
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ')')))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h) =>
         Show (T.Tuple8 a b c d e f g h) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2404v5v2411v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R (T.Tuple8 fx fy fz fu fv fw ft fa) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshowChar
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.conChar
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ')')))))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h, Show i) =>
         Show (T.Tuple9 a b c d e f g h i) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2425v5v2434v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R (T.Tuple9 fx fy fz fu fv fw ft fa fb) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!.)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (gshowString
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.fromLitString
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ","))
                                                                      (T.uap2
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ((!.)
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshows
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fb)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshowChar
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            (T.conChar
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ')')))))))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h, Show i, Show j) =>
         Show (T.Tuple10 a b c d e f g h i j) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2450v5v2460v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R (T.Tuple10 fx fy fz fu fv fw ft fa fb fc) _) p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!.)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (gshowString
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.fromLitString
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ","))
                                                                      (T.uap2
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ((!.)
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshows
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fb)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!.)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            (T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (gshowString
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ","))
                                                                            (T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((!.)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (gshows
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fc)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (gshowChar
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  (T.conChar
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     ')')))))))))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h, Show i, Show j, Show k) =>
         Show (T.Tuple11 a b c d e f g h i j k) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2477v5v2488v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R (T.Tuple11 fx fy fz fu fv fw ft fa fb fc fd) _)
                  p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!.)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (gshowString
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.fromLitString
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ","))
                                                                      (T.uap2
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ((!.)
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshows
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fb)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!.)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            (T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (gshowString
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ","))
                                                                            (T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((!.)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (gshows
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fc)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!.)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  (T.uap1
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     (gshowString
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.fromLitString
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ","))
                                                                                  (T.uap2
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     ((!.)
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.uap1
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (gshows
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fd)
                                                                                     (T.uap1
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (gshowChar
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        (T.conChar
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           ')')))))))))))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h, Show i, Show j, Show k,
          Show l) =>
         Show (T.Tuple12 a b c d e f g h i j k l) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2506v5v2518v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R (T.Tuple12 fx fy fz fu fv fw ft fa fb fc fd fe)
                     _)
                  p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!.)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (gshowString
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.fromLitString
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ","))
                                                                      (T.uap2
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ((!.)
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshows
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fb)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!.)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            (T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (gshowString
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ","))
                                                                            (T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((!.)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (gshows
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fc)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!.)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  (T.uap1
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     (gshowString
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.fromLitString
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ","))
                                                                                  (T.uap2
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     ((!.)
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.uap1
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (gshows
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fd)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!.)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        (T.uap1
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gshowString
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.fromLitString
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ","))
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           ((!.)
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.uap1
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              (gshows
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fe)
                                                                                           (T.uap1
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              (gshowChar
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              (T.conChar
                                                                                                 T.mkNoSrcPos
                                                                                                 p
                                                                                                 ')')))))))))))))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h, Show i, Show j, Show k,
          Show l, Show m) =>
         Show (T.Tuple13 a b c d e f g h i j k l m) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2537v5v2550v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R
                     (T.Tuple13 fx fy fz fu fv fw ft fa fb fc fd fe ff) _)
                  p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!.)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (gshowString
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.fromLitString
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ","))
                                                                      (T.uap2
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ((!.)
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshows
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fb)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!.)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            (T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (gshowString
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ","))
                                                                            (T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((!.)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (gshows
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fc)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!.)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  (T.uap1
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     (gshowString
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.fromLitString
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ","))
                                                                                  (T.uap2
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     ((!.)
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.uap1
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (gshows
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fd)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!.)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        (T.uap1
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gshowString
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.fromLitString
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ","))
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           ((!.)
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.uap1
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              (gshows
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fe)
                                                                                           (T.uap2
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ((!.)
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              (T.uap1
                                                                                                 T.mkNoSrcPos
                                                                                                 p
                                                                                                 (gshowString
                                                                                                    T.mkNoSrcPos
                                                                                                    p)
                                                                                                 (T.fromLitString
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ","))
                                                                                              (T.uap2
                                                                                                 T.mkNoSrcPos
                                                                                                 p
                                                                                                 ((!.)
                                                                                                    T.mkNoSrcPos
                                                                                                    p)
                                                                                                 (T.uap1
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    (gshows
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    ff)
                                                                                                 (T.uap1
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    (gshowChar
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    (T.conChar
                                                                                                       T.mkNoSrcPos
                                                                                                       p
                                                                                                       ')')))))))))))))))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h, Show i, Show j, Show k,
          Show l, Show m, Show n) =>
         Show (T.Tuple14 a b c d e f g h i j k l m n) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2570v5v2584v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R
                     (T.Tuple14 fx fy fz fu fv fw ft fa fb fc fd fe ff fg)
                     _)
                  p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!.)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (gshowString
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.fromLitString
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ","))
                                                                      (T.uap2
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ((!.)
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshows
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fb)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!.)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            (T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (gshowString
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ","))
                                                                            (T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((!.)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (gshows
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fc)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!.)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  (T.uap1
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     (gshowString
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.fromLitString
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ","))
                                                                                  (T.uap2
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     ((!.)
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.uap1
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (gshows
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fd)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!.)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        (T.uap1
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gshowString
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.fromLitString
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ","))
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           ((!.)
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.uap1
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              (gshows
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fe)
                                                                                           (T.uap2
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ((!.)
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              (T.uap1
                                                                                                 T.mkNoSrcPos
                                                                                                 p
                                                                                                 (gshowString
                                                                                                    T.mkNoSrcPos
                                                                                                    p)
                                                                                                 (T.fromLitString
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ","))
                                                                                              (T.uap2
                                                                                                 T.mkNoSrcPos
                                                                                                 p
                                                                                                 ((!.)
                                                                                                    T.mkNoSrcPos
                                                                                                    p)
                                                                                                 (T.uap1
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    (gshows
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    ff)
                                                                                                 (T.uap2
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ((!.)
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    (T.uap1
                                                                                                       T.mkNoSrcPos
                                                                                                       p
                                                                                                       (gshowString
                                                                                                          T.mkNoSrcPos
                                                                                                          p)
                                                                                                       (T.fromLitString
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ","))
                                                                                                    (T.uap2
                                                                                                       T.mkNoSrcPos
                                                                                                       p
                                                                                                       ((!.)
                                                                                                          T.mkNoSrcPos
                                                                                                          p)
                                                                                                       (T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (gshows
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          fg)
                                                                                                       (T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (gshowChar
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.conChar
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             ')')))))))))))))))))))))))))))))
 
instance (Show a, Show b, Show c, Show d, Show e,
          Show f, Show g, Show h, Show i, Show j, Show k,
          Show l, Show m, Show n, Show o) =>
         Show (T.Tuple15 a b c d e f g h i j k l m n o) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c2605v5v2620v65showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp
                  (T.R
                     (T.Tuple15 fx fy fz fu fv fw ft fa fb fc fd fe ff fg
                        fh)
                     _)
                  p
                  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                         (T.conChar T.mkNoSrcPos p '('))
                      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
                               (T.fromLitString T.mkNoSrcPos p ","))
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)
                               (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (gshowString T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p ","))
                                  (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (gshows T.mkNoSrcPos p)
                                        fz)
                                     (T.uap2 T.mkNoSrcPos p
                                        ((!.) T.mkNoSrcPos p)
                                        (T.uap1 T.mkNoSrcPos p
                                           (gshowString T.mkNoSrcPos p)
                                           (T.fromLitString T.mkNoSrcPos p ","))
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!.) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (gshows T.mkNoSrcPos p)
                                              fu)
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!.) T.mkNoSrcPos p)
                                              (T.uap1 T.mkNoSrcPos p
                                                 (gshowString T.mkNoSrcPos p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    ","))
                                              (T.uap2 T.mkNoSrcPos p
                                                 ((!.) T.mkNoSrcPos p)
                                                 (T.uap1 T.mkNoSrcPos p
                                                    (gshows T.mkNoSrcPos p)
                                                    fv)
                                                 (T.uap2 T.mkNoSrcPos p
                                                    ((!.) T.mkNoSrcPos p)
                                                    (T.uap1 T.mkNoSrcPos p
                                                       (gshowString T.mkNoSrcPos
                                                          p)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ","))
                                                    (T.uap2 T.mkNoSrcPos p
                                                       ((!.) T.mkNoSrcPos p)
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshows T.mkNoSrcPos
                                                             p)
                                                          fw)
                                                       (T.uap2 T.mkNoSrcPos p
                                                          ((!.) T.mkNoSrcPos p)
                                                          (T.uap1 T.mkNoSrcPos p
                                                             (gshowString
                                                                T.mkNoSrcPos
                                                                p)
                                                             (T.fromLitString
                                                                T.mkNoSrcPos
                                                                p
                                                                ","))
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!.) T.mkNoSrcPos
                                                                p)
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshows
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                ft)
                                                             (T.uap2
                                                                T.mkNoSrcPos
                                                                p
                                                                ((!.)
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap1
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (gshowString
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.fromLitString
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ","))
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!.)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (gshows
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      fa)
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!.)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (gshowString
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.fromLitString
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ","))
                                                                      (T.uap2
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         ((!.)
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.uap1
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (gshows
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            fb)
                                                                         (T.uap2
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            ((!.)
                                                                               T.mkNoSrcPos
                                                                               p)
                                                                            (T.uap1
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               (gshowString
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.fromLitString
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ","))
                                                                            (T.uap2
                                                                               T.mkNoSrcPos
                                                                               p
                                                                               ((!.)
                                                                                  T.mkNoSrcPos
                                                                                  p)
                                                                               (T.uap1
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  (gshows
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  fc)
                                                                               (T.uap2
                                                                                  T.mkNoSrcPos
                                                                                  p
                                                                                  ((!.)
                                                                                     T.mkNoSrcPos
                                                                                     p)
                                                                                  (T.uap1
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     (gshowString
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.fromLitString
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ","))
                                                                                  (T.uap2
                                                                                     T.mkNoSrcPos
                                                                                     p
                                                                                     ((!.)
                                                                                        T.mkNoSrcPos
                                                                                        p)
                                                                                     (T.uap1
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        (gshows
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        fd)
                                                                                     (T.uap2
                                                                                        T.mkNoSrcPos
                                                                                        p
                                                                                        ((!.)
                                                                                           T.mkNoSrcPos
                                                                                           p)
                                                                                        (T.uap1
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           (gshowString
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.fromLitString
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ","))
                                                                                        (T.uap2
                                                                                           T.mkNoSrcPos
                                                                                           p
                                                                                           ((!.)
                                                                                              T.mkNoSrcPos
                                                                                              p)
                                                                                           (T.uap1
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              (gshows
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              fe)
                                                                                           (T.uap2
                                                                                              T.mkNoSrcPos
                                                                                              p
                                                                                              ((!.)
                                                                                                 T.mkNoSrcPos
                                                                                                 p)
                                                                                              (T.uap1
                                                                                                 T.mkNoSrcPos
                                                                                                 p
                                                                                                 (gshowString
                                                                                                    T.mkNoSrcPos
                                                                                                    p)
                                                                                                 (T.fromLitString
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ","))
                                                                                              (T.uap2
                                                                                                 T.mkNoSrcPos
                                                                                                 p
                                                                                                 ((!.)
                                                                                                    T.mkNoSrcPos
                                                                                                    p)
                                                                                                 (T.uap1
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    (gshows
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    ff)
                                                                                                 (T.uap2
                                                                                                    T.mkNoSrcPos
                                                                                                    p
                                                                                                    ((!.)
                                                                                                       T.mkNoSrcPos
                                                                                                       p)
                                                                                                    (T.uap1
                                                                                                       T.mkNoSrcPos
                                                                                                       p
                                                                                                       (gshowString
                                                                                                          T.mkNoSrcPos
                                                                                                          p)
                                                                                                       (T.fromLitString
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ","))
                                                                                                    (T.uap2
                                                                                                       T.mkNoSrcPos
                                                                                                       p
                                                                                                       ((!.)
                                                                                                          T.mkNoSrcPos
                                                                                                          p)
                                                                                                       (T.uap1
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          (gshows
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          fg)
                                                                                                       (T.uap2
                                                                                                          T.mkNoSrcPos
                                                                                                          p
                                                                                                          ((!.)
                                                                                                             T.mkNoSrcPos
                                                                                                             p)
                                                                                                          (T.uap1
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             (gshowString
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             (T.fromLitString
                                                                                                                T.mkNoSrcPos
                                                                                                                p
                                                                                                                ","))
                                                                                                          (T.uap2
                                                                                                             T.mkNoSrcPos
                                                                                                             p
                                                                                                             ((!.)
                                                                                                                T.mkNoSrcPos
                                                                                                                p)
                                                                                                             (T.uap1
                                                                                                                T.mkNoSrcPos
                                                                                                                p
                                                                                                                (gshows
                                                                                                                   T.mkNoSrcPos
                                                                                                                   p)
                                                                                                                fh)
                                                                                                             (T.uap1
                                                                                                                T.mkNoSrcPos
                                                                                                                p
                                                                                                                (gshowChar
                                                                                                                   T.mkNoSrcPos
                                                                                                                   p)
                                                                                                                (T.conChar
                                                                                                                   T.mkNoSrcPos
                                                                                                                   p
                                                                                                                   ')')))))))))))))))))))))))))))))))
 
type FilePath = String
 
gputStr ::
        T.RefSrcPos ->
          T.RefExp -> T.R (T.Fun String (IO T.Tuple0))
 
hputStr ::
        T.R String -> T.RefExp -> T.R (IO T.Tuple0)
gputStr pputStr p = T.ufun1 aputStr pputStr p hputStr
hputStr fs p
  = T.uwrapForward p
      (hmapM_ (gputChar T.mkNoSrcPos p) fs p)
 
gputStrLn ::
          T.RefSrcPos ->
            T.RefExp -> T.R (T.Fun String (IO T.Tuple0))
 
hputStrLn ::
          T.R String -> T.RefExp -> T.R (IO T.Tuple0)
gputStrLn pputStrLn p
  = T.ufun1 aputStrLn pputStrLn p hputStrLn
hputStrLn fs p
  = T.uap2 T.mkNoSrcPos p
      ((Hat.PreludeBasic.!>>) T.mkNoSrcPos p)
      (T.uwrapForward p (hputStr fs p))
      (T.uwrapForward p
         (hputStr (T.fromLitString T.mkNoSrcPos p "\n") p))
 
gprint ::
         (Show a) =>
         T.RefSrcPos ->
           T.RefExp -> T.R (T.Fun a (IO T.Tuple0))
 
hprint ::
         (Show a) => T.R a -> T.RefExp -> T.R (IO T.Tuple0)
gprint pprint p = T.ufun1 aprint pprint p hprint
hprint fx p
  = T.uwrapForward p
      (hputStrLn
         (T.uap1 T.mkNoSrcPos p (gshow T.mkNoSrcPos p) fx)
         p)
 
ggetLine ::
         T.RefSrcPos -> T.RefExp -> T.R (IO String)
 
sgetLine :: T.R (IO String)
ggetLine pgetLine p = T.uconstUse pgetLine p sgetLine
sgetLine
  = T.uconstDef p agetLine
      (\ p ->
         T.uap2 T.mkNoSrcPos p
           ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
           (ggetChar T.mkNoSrcPos p)
           (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
              (\ fc p ->
                 T.ucif p
                   (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fc
                      (T.conChar T.mkNoSrcPos p '\n'))
                   (T.uap1 T.mkNoSrcPos p (greturn T.mkNoSrcPos p)
                      (T.fromLitString T.mkNoSrcPos p ""))
                   (T.uap2 T.mkNoSrcPos p
                      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                      (ggetLine T.mkNoSrcPos p)
                      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                         (\ fs p ->
                            T.uap1 T.mkNoSrcPos p (greturn T.mkNoSrcPos p)
                              (T.con2 T.mkNoSrcPos p T.Cons T.aCons fc fs)))))))
 
ginteract ::
          T.RefSrcPos ->
            T.RefExp ->
              T.R (T.Fun (T.Fun String String) (IO T.Tuple0))
 
hinteract ::
          T.R (T.Fun String String) ->
            T.RefExp -> T.R (IO T.Tuple0)
ginteract pinteract p
  = T.ufun1 ainteract pinteract p hinteract
hinteract ff p
  = T.uap2 T.mkNoSrcPos p
      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
      (ggetContents T.mkNoSrcPos p)
      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
         (\ fs p ->
            T.uwrapForward p
              (hputStr (T.uap1 T.mkNoSrcPos p ff fs) p)))
 
greadIO ::
          (Read a) =>
          T.RefSrcPos -> T.RefExp -> T.R (T.Fun String (IO a))
 
hreadIO ::
          (Read a) => T.R String -> T.RefExp -> T.R (IO a)
greadIO preadIO p = T.ufun1 areadIO preadIO p hreadIO
hreadIO fs p
  = T.uccase T.mkNoSrcPos p
      (let v2714v13v2720v0v1
             (T.R (T.Cons fx (T.R T.Nil _)) _) p
             = T.uap1 T.mkNoSrcPos p (greturn T.mkNoSrcPos p) fx
           v2714v13v2720v0v1 (T.R T.Nil _) p
             = T.uwrapForward p
                 (hioError
                    (T.uwrapForward p
                       (huserError
                          (T.fromLitString T.mkNoSrcPos p
                             "Prelude.readIO: no parse")
                          p))
                    p)
           v2714v13v2720v0v1 _ p
             = T.uwrapForward p
                 (hioError
                    (T.uwrapForward p
                       (huserError
                          (T.fromLitString T.mkNoSrcPos p
                             "Prelude.readIO: ambiguous parse")
                          p))
                    p)
         in v2714v13v2720v0v1)
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
         (T.uap1 T.mkNoSrcPos p (greads T.mkNoSrcPos p) fs)
         (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
            (\ (T.R (T.Tuple2 fx ft) _) p ->
               T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                 (T.uwrapForward p (hlex ft p))
                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                    (\ fv2714v41v2714v50v1 p ->
                       T.uccase T.mkNoSrcPos p
                         (let v2714v41v2714v50v1
                                (T.R (T.Tuple2 (T.R T.Nil _) (T.R T.Nil _)) _) p
                                = T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                                    fx
                              v2714v41v2714v50v1 _ p
                                = T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                    (T.fromLitString T.mkNoSrcPos p
                                       "pattern-match failure in do-expression")
                            in v2714v41v2714v50v1)
                         fv2714v41v2714v50v1)))))
 
greadLn ::
          (Read a) => T.RefSrcPos -> T.RefExp -> T.R (IO a)
 
sreadLn :: (Read a) => T.R (IO a)
greadLn preadLn p = T.uconstUse preadLn p sreadLn
sreadLn
  = T.uconstDef p areadLn
      (\ p ->
         T.uap2 T.mkNoSrcPos p
           ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
           (ggetLine T.mkNoSrcPos p)
           (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
              (\ fl p ->
                 T.uap2 T.mkNoSrcPos p
                   ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                   (T.uwrapForward p (hreadIO fl p))
                   (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                      (\ fr p ->
                         T.uap1 T.mkNoSrcPos p (greturn T.mkNoSrcPos p)
                           fr)))))
 
gdigitToInt ::
            T.RefSrcPos -> T.RefExp -> T.R (T.Fun Char Int)
 
hdigitToInt :: T.R Char -> T.RefExp -> T.R Int
gdigitToInt pdigitToInt p
  = T.ufun1 adigitToInt pdigitToInt p hdigitToInt
hdigitToInt fc p
  = T.ucguard (T.uwrapForward p (hisDigit fc p))
      (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
         (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p) fc)
         (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
            (T.conChar T.mkNoSrcPos p '0')))
      (T.ucguard
         (T.uwrapForward p
            ((*&&)
               (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fc
                  (T.conChar T.mkNoSrcPos p 'a'))
               (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fc
                  (T.conChar T.mkNoSrcPos p 'f'))
               p))
         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
               (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p) fc)
               (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                  (T.conChar T.mkNoSrcPos p 'a')))
            (T.uap1 T.mkNoSrcPos p
               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
               (T.conInteger T.mkNoSrcPos p (10))))
         (T.ucguard
            (T.uwrapForward p
               ((*&&)
                  (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fc
                     (T.conChar T.mkNoSrcPos p 'A'))
                  (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fc
                     (T.conChar T.mkNoSrcPos p 'F'))
                  p))
            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
               (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                  (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p) fc)
                  (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                     (T.conChar T.mkNoSrcPos p 'A')))
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (10))))
            (T.ucguard (gotherwise T.mkNoSrcPos p)
               (T.uwrapForward p
                  (herror
                     (T.fromLitString T.mkNoSrcPos p
                        "Char.digitToInt: not a digit")
                     p))
               (T.fatal p))))
 
gintToDigit ::
            T.RefSrcPos -> T.RefExp -> T.R (T.Fun Int Char)
 
hintToDigit :: T.R Int -> T.RefExp -> T.R Char
gintToDigit pintToDigit p
  = T.ufun1 aintToDigit pintToDigit p hintToDigit
hintToDigit fi p
  = T.ucguard
      (T.uwrapForward p
         ((*&&)
            (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fi
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (0))))
            (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fi
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (9))))
            p))
      (T.uap1 T.mkNoSrcPos p (gtoEnum T.mkNoSrcPos p)
         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
            (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
               (T.conChar T.mkNoSrcPos p '0'))
            fi))
      (T.ucguard
         (T.uwrapForward p
            ((*&&)
               (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fi
                  (T.uap1 T.mkNoSrcPos p
                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                     (T.conInteger T.mkNoSrcPos p (10))))
               (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fi
                  (T.uap1 T.mkNoSrcPos p
                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                     (T.conInteger T.mkNoSrcPos p (15))))
               p))
         (T.uap1 T.mkNoSrcPos p (gtoEnum T.mkNoSrcPos p)
            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
               (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                  (T.uap1 T.mkNoSrcPos p (gfromEnum T.mkNoSrcPos p)
                     (T.conChar T.mkNoSrcPos p 'a'))
                  fi)
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (10)))))
         (T.ucguard (gotherwise T.mkNoSrcPos p)
            (T.uwrapForward p
               (herror
                  (T.fromLitString T.mkNoSrcPos p
                     "Char.intToDigit: not a digit")
                  p))
            (T.fatal p)))
 
gord ::
     T.RefSrcPos -> T.RefExp -> T.R (T.Fun Char Int)
 
sord :: T.R (T.Fun Char Int)
gord pord p = T.uconstUse pord p sord
sord
  = T.uconstDef p aord
      (\ p -> gfromEnum T.mkNoSrcPos p)
 
gchr ::
     T.RefSrcPos -> T.RefExp -> T.R (T.Fun Int Char)
 
schr :: T.R (T.Fun Int Char)
gchr pchr p = T.uconstUse pchr p schr
schr
  = T.uconstDef p achr (\ p -> gtoEnum T.mkNoSrcPos p)
 
greadLitChar ::
             T.RefSrcPos -> T.RefExp -> T.R (ReadS Char)
 
hreadLitChar ::
             T.R (ReadS___1 Char) ->
               T.RefExp -> T.R (ReadS___2 Char)
greadLitChar preadLitChar p
  = T.ufun1 areadLitChar preadLitChar p hreadLitChar
hreadLitChar (T.R (T.Cons (T.R '\\' _) fs) _) p
  = T.uwrapForward p (hreadEsc fs p)
  where greadEsc preadEsc p
          = T.ufun1 c2773v9v2795v29readEsc preadEsc p hreadEsc
        areadEsc = c2773v9v2795v29readEsc
        hreadEsc (T.R (T.Cons (T.R 'a' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\a')
                 fs]
        hreadEsc (T.R (T.Cons (T.R 'b' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\b')
                 fs]
        hreadEsc (T.R (T.Cons (T.R 'f' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\f')
                 fs]
        hreadEsc (T.R (T.Cons (T.R 'n' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\n')
                 fs]
        hreadEsc (T.R (T.Cons (T.R 'r' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\r')
                 fs]
        hreadEsc (T.R (T.Cons (T.R 't' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\t')
                 fs]
        hreadEsc (T.R (T.Cons (T.R 'v' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\v')
                 fs]
        hreadEsc (T.R (T.Cons (T.R '\\' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\\')
                 fs]
        hreadEsc (T.R (T.Cons (T.R '"' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '"')
                 fs]
        hreadEsc (T.R (T.Cons (T.R '\'' _) fs) _) p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.conChar T.mkNoSrcPos p '\'')
                 fs]
        hreadEsc
          z1readEsc@(T.R
                       (T.Cons (T.R '^' _) (T.R (T.Cons fc fs) _)) _)
          p
          = T.ucguard
              (T.uwrapForward p
                 ((*&&)
                    (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fc
                       (T.conChar T.mkNoSrcPos p '@'))
                    (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fc
                       (T.conChar T.mkNoSrcPos p '_'))
                    p))
              (T.fromExpList T.mkNoSrcPos p
                 [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                    (T.uap1 T.mkNoSrcPos p (gchr T.mkNoSrcPos p)
                       (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                          (T.uap1 T.mkNoSrcPos p (gord T.mkNoSrcPos p) fc)
                          (T.uap1 T.mkNoSrcPos p (gord T.mkNoSrcPos p)
                             (T.conChar T.mkNoSrcPos p '@'))))
                    fs])
              (y1readEsc z1readEsc p)
        hreadEsc z1readEsc p = y1readEsc z1readEsc p
        y1readEsc fs@(T.R (T.Cons fd _) _) p
          = T.ucguard (T.uwrapForward p (hisDigit fd p))
              (T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                 (T.uap1 T.mkNoSrcPos p (greadDec T.mkNoSrcPos p) fs)
                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                    (\ (T.R (T.Tuple2 fn ft) _) p ->
                       T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                         (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                            (T.uap1 T.mkNoSrcPos p (gchr T.mkNoSrcPos p) fn)
                            ft))))
              (y2readEsc fs p)
        y1readEsc fs p = y2readEsc fs p
        y2readEsc (T.R (T.Cons (T.R 'o' _) fs) _) p
          = T.uap2 T.mkNoSrcPos p
              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
              (T.uap1 T.mkNoSrcPos p (greadOct T.mkNoSrcPos p) fs)
              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                 (\ (T.R (T.Tuple2 fn ft) _) p ->
                    T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                      (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                         (T.uap1 T.mkNoSrcPos p (gchr T.mkNoSrcPos p) fn)
                         ft)))
        y2readEsc (T.R (T.Cons (T.R 'x' _) fs) _) p
          = T.uap2 T.mkNoSrcPos p
              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
              (T.uap1 T.mkNoSrcPos p (greadHex T.mkNoSrcPos p) fs)
              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                 (\ (T.R (T.Tuple2 fn ft) _) p ->
                    T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                      (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                         (T.uap1 T.mkNoSrcPos p (gchr T.mkNoSrcPos p) fn)
                         ft)))
        y2readEsc fs@(T.R (T.Cons fc _) _) p
          = T.ucguard (T.uwrapForward p (hisUpper fc p))
              (let gtable ptable p = T.uconstUse ptable p stable
                   stable
                     = T.uconstDef p c2790v32v2790v78table
                         (\ p ->
                            T.con2 T.mkNoSrcPos p T.Cons T.aCons
                              (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                 (T.conChar T.mkNoSrcPos p '\DEL')
                                 (T.fromLitString T.mkNoSrcPos p "DEL"))
                              (gasciiTab T.mkNoSrcPos p))
                 in
                 T.uccase T.mkNoSrcPos p
                   (let v2791v31v2795v0v1 (T.R (T.Cons fpr _) _) p
                          = T.fromExpList T.mkNoSrcPos p [fpr]
                        v2791v31v2795v0v1 (T.R T.Nil _) p
                          = T.con0 T.mkNoSrcPos p T.Nil T.aNil
                        v2791v31v2795v0v1 _ p = T.fatal p
                      in v2791v31v2795v0v1)
                   (T.uap2 T.mkNoSrcPos p
                      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                      (gtable T.mkNoSrcPos p)
                      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                         (\ (T.R (T.Tuple2 fc fmne) _) p ->
                            T.uap2 T.mkNoSrcPos p
                              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                              (T.fromExpList T.mkNoSrcPos p
                                 [T.uwrapForward p (hmatch fmne fs p)])
                              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                 (\ fv2792v46v2792v55v1 p ->
                                    T.uccase T.mkNoSrcPos p
                                      (let v2792v46v2792v55v1
                                             (T.R (T.Tuple2 (T.R T.Nil _) fs')
                                                _)
                                             p
                                             = T.uap1 T.mkNoSrcPos p
                                                 (Hat.PreludeBasic.greturn
                                                    T.mkNoSrcPos
                                                    p)
                                                 (T.con2 T.mkNoSrcPos p T.Tuple2
                                                    T.aTuple2
                                                    fc
                                                    fs')
                                           v2792v46v2792v55v1 _ p
                                             = T.uap1 T.mkNoSrcPos p
                                                 (Hat.PreludeBasic.gfail
                                                    T.mkNoSrcPos
                                                    p)
                                                 (T.fromLitString T.mkNoSrcPos p
                                                    "pattern-match failure in do-expression")
                                         in v2792v46v2792v55v1)
                                      fv2792v46v2792v55v1))))))
              (y3readEsc fs p)
        y2readEsc fs p = y3readEsc fs p
        y3readEsc _ p = T.con0 T.mkNoSrcPos p T.Nil T.aNil
         
        gmatch ::
                 (Eq a) =>
                 T.RefSrcPos ->
                   T.RefExp ->
                     T.R
                       (T.Fun (T.List a)
                          (T.Fun (T.List a) (T.Tuple2 (T.List a) (T.List a))))
         
        hmatch ::
                 (Eq a) =>
                 T.R (T.List a) ->
                   T.R (T.List a) ->
                     T.RefExp -> T.R (T.Tuple2 (T.List a) (T.List a))
        gmatch pmatch p
          = T.ufun2 c2798v9v2799v48match pmatch p hmatch
        amatch = c2798v9v2799v48match
        hmatch z1match@(T.R (T.Cons fx fxs) _)
          z2match@(T.R (T.Cons fy fys) _) p
          = T.ucguard
              (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fx fy)
              (T.uwrapForward p (hmatch fxs fys p))
              (y1match z1match z2match p)
        hmatch z1match z2match p = y1match z1match z2match p
        y1match fxs fys p
          = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fxs fys
hreadLitChar (T.R (T.Cons fc fs) _) p
  = T.fromExpList T.mkNoSrcPos p
      [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fc fs]
hreadLitChar _ p = T.fatal p
 
gshowLitChar ::
             T.RefSrcPos -> T.RefExp -> T.R (T.Fun Char ShowS)
 
hshowLitChar :: T.R Char -> T.RefExp -> T.R ShowS
gshowLitChar pshowLitChar p
  = T.ufun1 ashowLitChar pshowLitChar p hshowLitChar
hshowLitChar fc p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fc
         (T.conChar T.mkNoSrcPos p '\DEL'))
      (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
         (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
            (T.conChar T.mkNoSrcPos p '\\'))
         (T.uwrapForward p
            (hprotectEsc (gisDigit T.mkNoSrcPos p)
               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                  (T.uap1 T.mkNoSrcPos p (gord T.mkNoSrcPos p) fc))
               p)))
      (y1showLitChar fc p)
hshowLitChar fc p = y1showLitChar fc p
y1showLitChar (T.R '\DEL' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\DEL")
y1showLitChar (T.R '\\' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\\\")
y1showLitChar fc p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fc
         (T.conChar T.mkNoSrcPos p ' '))
      (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p) fc)
      (y2showLitChar fc p)
y1showLitChar fc p = y2showLitChar fc p
y2showLitChar (T.R '\a' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\a")
y2showLitChar (T.R '\b' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\b")
y2showLitChar (T.R '\f' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\f")
y2showLitChar (T.R '\n' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\n")
y2showLitChar (T.R '\r' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\r")
y2showLitChar (T.R '\t' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\t")
y2showLitChar (T.R '\v' _) p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.fromLitString T.mkNoSrcPos p "\\v")
y2showLitChar (T.R '\SO' _) p
  = T.uwrapForward p
      (hprotectEsc
         (T.uap2 T.mkNoSrcPos p
            (Hat.PreludeBasic.gflip T.mkNoSrcPos p)
            ((!==) T.mkNoSrcPos p)
            (T.conChar T.mkNoSrcPos p 'H'))
         (T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
            (T.fromLitString T.mkNoSrcPos p "\\SO"))
         p)
y2showLitChar fc p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.con2 T.mkNoSrcPos p T.Cons T.aCons
         (T.conChar T.mkNoSrcPos p '\\')
         (T.uwrapForward p
            (hsnd
               (T.uwrapForward p
                  ((*!!) (gasciiTab T.mkNoSrcPos p)
                     (T.uap1 T.mkNoSrcPos p (gord T.mkNoSrcPos p) fc)
                     p))
               p)))
gprotectEsc pprotectEsc p
  = T.ufun2 aprotectEsc pprotectEsc p hprotectEsc
hprotectEsc fp ff p
  = T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p) ff
      (gcont T.mkNoSrcPos p)
  where gcont pcont p
          = T.ufun1 c2819v36v2820v57cont pcont p hcont
        acont = c2819v36v2820v57cont
        hcont fs@(T.R (T.Cons fc _) _) p
          = T.ucguard (T.uap1 T.mkNoSrcPos p fp fc)
              (T.uwrapForward p
                 ((*++) (T.fromLitString T.mkNoSrcPos p "\\&") fs p))
              (y1cont fs p)
        hcont fs p = y1cont fs p
        y1cont fs p = T.projection T.mkNoSrcPos p fs
gasciiTab pasciiTab p
  = T.uconstUse pasciiTab p sasciiTab
sasciiTab
  = T.uconstDef p aasciiTab
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gzip T.mkNoSrcPos p)
           (T.uap2 T.mkNoSrcPos p
              (Hat.PreludeBasic.genumFromTo T.mkNoSrcPos p)
              (T.conChar T.mkNoSrcPos p '\NUL')
              (T.conChar T.mkNoSrcPos p ' '))
           (T.fromExpList T.mkNoSrcPos p
              [T.fromLitString T.mkNoSrcPos p "NUL",
               T.fromLitString T.mkNoSrcPos p "SOH",
               T.fromLitString T.mkNoSrcPos p "STX",
               T.fromLitString T.mkNoSrcPos p "ETX",
               T.fromLitString T.mkNoSrcPos p "EOT",
               T.fromLitString T.mkNoSrcPos p "ENQ",
               T.fromLitString T.mkNoSrcPos p "ACK",
               T.fromLitString T.mkNoSrcPos p "BEL",
               T.fromLitString T.mkNoSrcPos p "BS",
               T.fromLitString T.mkNoSrcPos p "HT",
               T.fromLitString T.mkNoSrcPos p "LF",
               T.fromLitString T.mkNoSrcPos p "VT",
               T.fromLitString T.mkNoSrcPos p "FF",
               T.fromLitString T.mkNoSrcPos p "CR",
               T.fromLitString T.mkNoSrcPos p "SO",
               T.fromLitString T.mkNoSrcPos p "SI",
               T.fromLitString T.mkNoSrcPos p "DLE",
               T.fromLitString T.mkNoSrcPos p "DC1",
               T.fromLitString T.mkNoSrcPos p "DC2",
               T.fromLitString T.mkNoSrcPos p "DC3",
               T.fromLitString T.mkNoSrcPos p "DC4",
               T.fromLitString T.mkNoSrcPos p "NAK",
               T.fromLitString T.mkNoSrcPos p "SYN",
               T.fromLitString T.mkNoSrcPos p "ETB",
               T.fromLitString T.mkNoSrcPos p "CAN",
               T.fromLitString T.mkNoSrcPos p "EM",
               T.fromLitString T.mkNoSrcPos p "SUB",
               T.fromLitString T.mkNoSrcPos p "ESC",
               T.fromLitString T.mkNoSrcPos p "FS",
               T.fromLitString T.mkNoSrcPos p "GS",
               T.fromLitString T.mkNoSrcPos p "RS",
               T.fromLitString T.mkNoSrcPos p "US",
               T.fromLitString T.mkNoSrcPos p "SP"]))
 
glexLitChar ::
            T.RefSrcPos -> T.RefExp -> T.R (ReadS String)
 
hlexLitChar ::
            T.R (ReadS___1 String) ->
              T.RefExp -> T.R (ReadS___2 String)
glexLitChar plexLitChar p
  = T.ufun1 alexLitChar plexLitChar p hlexLitChar
hlexLitChar (T.R (T.Cons (T.R '\\' _) fs) _) p
  = T.uap2 T.mkNoSrcPos p
      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
      (T.uwrapForward p (hlexEsc fs p))
      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
         (\ (T.R (T.Tuple2 fesc ft) _) p ->
            T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
              (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                    (T.conChar T.mkNoSrcPos p '\\')
                    fesc)
                 ft)))
  where glexEsc plexEsc p
          = T.ufun1 c2832v11v2837v57lexEsc plexEsc p hlexEsc
        alexEsc = c2832v11v2837v57lexEsc
        hlexEsc z1lexEsc@(T.R (T.Cons fc fs) _) p
          = T.ucguard
              (T.uap1 T.mkNoSrcPos p
                 (T.uwrapForward p (helem fc p))
                 (T.fromLitString T.mkNoSrcPos p "abfnrtv\\\"'"))
              (T.fromExpList T.mkNoSrcPos p
                 [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                    (T.fromExpList T.mkNoSrcPos p [fc])
                    fs])
              (y1lexEsc z1lexEsc p)
        hlexEsc z1lexEsc p = y1lexEsc z1lexEsc p
        y1lexEsc fs@(T.R (T.Cons fd _) _) p
          = T.ucguard (T.uwrapForward p (hisDigit fd p))
              (T.uap1 T.mkNoSrcPos p (glexDigits T.mkNoSrcPos p)
                 fs)
              (y2lexEsc fs p)
        y1lexEsc fs p = y2lexEsc fs p
        y2lexEsc
          z1lexEsc@(T.R
                      (T.Cons (T.R '^' _) (T.R (T.Cons fc fs) _)) _)
          p
          = T.ucguard
              (T.uwrapForward p
                 ((*&&)
                    (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fc
                       (T.conChar T.mkNoSrcPos p '@'))
                    (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fc
                       (T.conChar T.mkNoSrcPos p '_'))
                    p))
              (T.fromExpList T.mkNoSrcPos p
                 [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                    (T.fromExpList T.mkNoSrcPos p
                       [T.conChar T.mkNoSrcPos p '^', fc])
                    fs])
              (y3lexEsc z1lexEsc p)
        y2lexEsc z1lexEsc p = y3lexEsc z1lexEsc p
        y3lexEsc fs@(T.R (T.Cons fc _) _) p
          = T.ucguard (T.uwrapForward p (hisUpper fc p))
              (T.fromExpList T.mkNoSrcPos p
                 [T.uwrapForward p
                    (hspan (gisCharName T.mkNoSrcPos p) fs p)])
              (y4lexEsc fs p)
        y3lexEsc fs p = y4lexEsc fs p
        y4lexEsc _ p = T.con0 T.mkNoSrcPos p T.Nil T.aNil
        gisCharName pisCharName p
          = T.ufun1 c2838v11v2838v47isCharName pisCharName p
              hisCharName
        aisCharName = c2838v11v2838v47isCharName
        hisCharName fc p
          = T.uwrapForward p
              ((*||) (T.uwrapForward p (hisUpper fc p))
                 (T.uwrapForward p (hisDigit fc p))
                 p)
hlexLitChar (T.R (T.Cons fc fs) _) p
  = T.fromExpList T.mkNoSrcPos p
      [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
         (T.fromExpList T.mkNoSrcPos p [fc])
         fs]
hlexLitChar (T.R T.Nil _) p
  = T.con0 T.mkNoSrcPos p T.Nil T.aNil
hlexLitChar _ p = T.fatal p
 
gfromRat ::
           (RealFloat a) =>
           T.RefSrcPos -> T.RefExp -> T.R (T.Fun Rational a)
 
hfromRat ::
           (RealFloat a) => T.R Rational -> T.RefExp -> T.R a
gfromRat pfromRat p
  = T.ufun1 afromRat pfromRat p hfromRat
hfromRat fx p
  = T.ucif p
      (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fx
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.uap2 T.mkNoSrcPos p (gencodeFloat T.mkNoSrcPos p)
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0)))
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.ucif p
         (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fx
            (T.uap1 T.mkNoSrcPos p
               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
               (T.conInteger T.mkNoSrcPos p (0))))
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
            (T.uwrapForward p
               (hfromRat'
                  (T.uap1 T.mkNoSrcPos p
                     (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                     fx)
                  p)))
         (T.uwrapForward p (hfromRat' fx p)))
 
gfromRat' ::
            (RealFloat a) =>
            T.RefSrcPos -> T.RefExp -> T.R (T.Fun Rational a)
 
hfromRat' ::
            (RealFloat a) => T.R Rational -> T.RefExp -> T.R a
gfromRat' pfromRat' p
  = T.ufun1 afromRat' pfromRat' p hfromRat'
hfromRat' fx p = gr T.mkNoSrcPos p
  where gb pb p = T.uconstUse pb p sb
        sb
          = T.uconstDef p c2877v9v2877v24b
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (gfloatRadix T.mkNoSrcPos p)
                   (gr T.mkNoSrcPos p))
        gp pp p = T.uconstUse pp p sp
        sp
          = T.uconstDef p c2878v9v2878v25p
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (gfloatDigits T.mkNoSrcPos p)
                   (gr T.mkNoSrcPos p))
        gminExp0 pminExp0 p = T.uconstUse pminExp0 p sminExp0
        sminExp0
          = T.uconstDef p c2879v9v2879v35minExp0
              (\ _ ->
                 case j2879v9v2879v35minExp0 of
                     (kminExp0, fminExp0) -> fminExp0)
        j2879v9v2879v35minExp0
          = case
              T.uap1 T.mkNoSrcPos p (gfloatRange T.mkNoSrcPos p)
                (gr T.mkNoSrcPos p)
              of
                T.R (T.Tuple2 fminExp0 _) kminExp0 -> (kminExp0,
                                                       fminExp0)
                _ -> T.fatal p
        gminExp pminExp p = T.uconstUse pminExp p sminExp
        sminExp
          = T.uconstDef p c2880v9v2880v28minExp
              (\ p ->
                 T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                   (gminExp0 T.mkNoSrcPos p)
                   (gp T.mkNoSrcPos p))
        gxMin pxMin p = T.uconstUse pxMin p sxMin
        sxMin
          = T.uconstDef p c2881v9v2881v40xMin
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (gtoRational T.mkNoSrcPos p)
                   (T.uwrapForward p
                      (hexpt (gb T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                            (gp T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (1))))
                         p)))
        gxMax pxMax p = T.uconstUse pxMax p sxMax
        sxMax
          = T.uconstDef p c2882v9v2882v36xMax
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (gtoRational T.mkNoSrcPos p)
                   (T.uwrapForward p
                      (hexpt (gb T.mkNoSrcPos p) (gp T.mkNoSrcPos p) p)))
        gp0 pp0 p = T.uconstUse pp0 p sp0
        sp0
          = T.uconstDef p c2883v9v2884v64p0
              (\ p ->
                 T.uap2 T.mkNoSrcPos p (gmax T.mkNoSrcPos p)
                   (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                         (T.uwrapForward p
                            (hintegerLogBase (gb T.mkNoSrcPos p)
                               (T.uwrapForward p (hnumerator fx p))
                               p))
                         (T.uwrapForward p
                            (hintegerLogBase (gb T.mkNoSrcPos p)
                               (T.uwrapForward p (hdenominator fx p))
                               p)))
                      (gp T.mkNoSrcPos p))
                   (gminExp T.mkNoSrcPos p))
        gf pf p = T.uconstUse pf p sf
        sf
          = T.uconstDef p c2885v9v2885v62f
              (\ p ->
                 T.ucif p
                   (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                      (gp0 T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0))))
                   (T.uwrapForward p
                      ((*%)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1)))
                         (T.uwrapForward p
                            (hexpt (gb T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                  (gp0 T.mkNoSrcPos p))
                               p))
                         p))
                   (T.uwrapForward p
                      ((*%)
                         (T.uwrapForward p
                            (hexpt (gb T.mkNoSrcPos p) (gp0 T.mkNoSrcPos p) p))
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1)))
                         p)))
        gx' px' p = T.uconstUse px' p sx'
        gp' pp' p = T.uconstUse pp' p sp'
        sx'
          = T.uconstDef p c2886v9v2886v70x'
              (\ _ ->
                 case j2886v9v2886v70x' of
                     (kx', fx', fp') -> fx')
        sp'
          = T.uconstDef p c2886v9v2886v70p'
              (\ _ ->
                 case j2886v9v2886v70x' of
                     (kx', fx', fp') -> fp')
        j2886v9v2886v70x'
          = case
              T.uap6 T.mkNoSrcPos p (gscaleRat T.mkNoSrcPos p)
                (T.uap1 T.mkNoSrcPos p (gtoRational T.mkNoSrcPos p)
                   (gb T.mkNoSrcPos p))
                (gminExp T.mkNoSrcPos p)
                (gxMin T.mkNoSrcPos p)
                (gxMax T.mkNoSrcPos p)
                (gp0 T.mkNoSrcPos p)
                (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p) fx
                   (gf T.mkNoSrcPos p))
              of
                T.R (T.Tuple2 fx' fp') kx' -> (kx', fx', fp')
                _ -> T.fatal p
        gr pr p = T.uconstUse pr p sr
        sr
          = T.uconstDef p c2887v9v2887v37r
              (\ p ->
                 T.uap2 T.mkNoSrcPos p (gencodeFloat T.mkNoSrcPos p)
                   (T.uap1 T.mkNoSrcPos p (ground T.mkNoSrcPos p)
                      (gx' T.mkNoSrcPos p))
                   (gp' T.mkNoSrcPos p))
 
gscaleRat ::
          T.RefSrcPos ->
            T.RefExp ->
              T.R
                (T.Fun Rational
                   (T.Fun Int
                      (T.Fun Rational
                         (T.Fun Rational
                            (T.Fun Int
                               (T.Fun Rational (T.Tuple2 Rational Int)))))))
 
hscaleRat ::
          T.R Rational ->
            T.R Int ->
              T.R Rational ->
                T.R Rational ->
                  T.R Int ->
                    T.R Rational ->
                      T.RefExp -> T.R (T.Tuple2 Rational Int)
gscaleRat pscaleRat p
  = T.ufun6 ascaleRat pscaleRat p hscaleRat
hscaleRat fb fminExp fxMin fxMax fp fx p
  = T.ucif p
      (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fp
         fminExp)
      (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fx fp)
      (T.ucif p
         (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fx
            fxMax)
         (T.uap6 T.mkNoSrcPos p (gscaleRat T.mkNoSrcPos p) fb
            fminExp
            fxMin
            fxMax
            (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fp
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (1))))
            (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p) fx fb))
         (T.ucif p
            (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fx
               fxMin)
            (T.uap6 T.mkNoSrcPos p (gscaleRat T.mkNoSrcPos p) fb
               fminExp
               fxMin
               fxMax
               (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fp
                  (T.uap1 T.mkNoSrcPos p
                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                     (T.conInteger T.mkNoSrcPos p (1))))
               (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fb))
            (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fx fp)))
gminExpt pminExpt p = T.uconstUse pminExpt p sminExpt
sminExpt
  = T.uconstDef p aminExpt
      (\ p ->
         T.uap1 T.mkNoSrcPos p
           (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
           (T.conInteger T.mkNoSrcPos p (0))
           :: T.R Int)
gmaxExpt pmaxExpt p = T.uconstUse pmaxExpt p smaxExpt
smaxExpt
  = T.uconstDef p amaxExpt
      (\ p ->
         T.uap1 T.mkNoSrcPos p
           (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
           (T.conInteger T.mkNoSrcPos p (1100))
           :: T.R Int)
 
gexpt ::
      T.RefSrcPos ->
        T.RefExp -> T.R (T.Fun Integer (T.Fun Int Integer))
 
hexpt ::
      T.R Integer -> T.R Int -> T.RefExp -> T.R Integer
gexpt pexpt p = T.ufun2 aexpt pexpt p hexpt
hexpt fbase fn p
  = T.ucif p
      (T.uwrapForward p
         ((*&&)
            (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fbase
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (2))))
            (T.uwrapForward p
               ((*&&)
                  (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fn
                     (gminExpt T.mkNoSrcPos p))
                  (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p) fn
                     (gmaxExpt T.mkNoSrcPos p))
                  p))
            p))
      (T.uwrapForward p
         ((*!!) (gexpts T.mkNoSrcPos p)
            (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fn
               (gminExpt T.mkNoSrcPos p))
            p))
      (T.uwrapForward p ((*^) fbase fn p))
 
gexpts ::
       T.RefSrcPos -> T.RefExp -> T.R (T.List Integer)
 
sexpts :: T.R (T.List Integer)
gexpts pexpts p = T.uconstUse pexpts p sexpts
sexpts
  = T.uconstDef p aexpts
      (\ p ->
         T.uap2 T.mkNoSrcPos p
           ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
           (T.uap2 T.mkNoSrcPos p
              (Hat.PreludeBasic.genumFromTo T.mkNoSrcPos p)
              (gminExpt T.mkNoSrcPos p)
              (gmaxExpt T.mkNoSrcPos p))
           (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
              (\ fn p ->
                 T.uap1 T.mkNoSrcPos p
                   (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                   (T.uwrapForward p
                      ((*^)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (2)))
                         fn
                         p)))))
 
gintegerLogBase ::
                T.RefSrcPos ->
                  T.RefExp -> T.R (T.Fun Integer (T.Fun Integer Int))
 
hintegerLogBase ::
                T.R Integer -> T.R Integer -> T.RefExp -> T.R Int
gintegerLogBase pintegerLogBase p
  = T.ufun2 aintegerLogBase pintegerLogBase p
      hintegerLogBase
hintegerLogBase fb fi p
  = T.ucif p
      (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fi fb)
      (T.uap1 T.mkNoSrcPos p
         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
         (T.conInteger T.mkNoSrcPos p (0)))
      (let gl pl p = T.uconstUse pl p sl
           sl
             = T.uconstDef p c2925v13v2925v42l
                 (\ p ->
                    T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (2)))
                      (T.uwrapForward p
                         (hintegerLogBase
                            (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fb fb)
                            fi
                            p)))
            
           gdoDiv ::
                  T.RefSrcPos ->
                    T.RefExp -> T.R (T.Fun Integer (T.Fun Int Int))
            
           hdoDiv ::
                  T.R Integer -> T.R Int -> T.RefExp -> T.R Int
           gdoDiv pdoDiv p
             = T.ufun2 c2927v13v2927v68doDiv pdoDiv p hdoDiv
           adoDiv = c2927v13v2927v68doDiv
           hdoDiv fi fl p
             = T.ucif p
                 (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fi fb)
                 (T.projection T.mkNoSrcPos p fl)
                 (T.uwrapForward p
                    (hdoDiv
                       (T.uap2 T.mkNoSrcPos p (gdiv T.mkNoSrcPos p) fi fb)
                       (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fl
                          (T.uap1 T.mkNoSrcPos p
                             (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                             (T.conInteger T.mkNoSrcPos p (1))))
                       p))
         in
         T.uwrapForward p
           (hdoDiv
              (T.uap2 T.mkNoSrcPos p (gdiv T.mkNoSrcPos p) fi
                 (T.uwrapForward p ((*^) fb (gl T.mkNoSrcPos p) p)))
              (gl T.mkNoSrcPos p)
              p))
 
gshowSigned ::
              (Real a) =>
              T.RefSrcPos ->
                T.RefExp ->
                  T.R
                    (T.Fun (T.Fun a ShowS) (T.Fun Int (T.Fun a ShowS)))
 
hshowSigned ::
              (Real a) =>
              T.R (T.Fun a ShowS) ->
                T.R Int -> T.R a -> T.RefExp -> T.R ShowS
gshowSigned pshowSigned p
  = T.ufun3 ashowSigned pshowSigned p hshowSigned
hshowSigned fshowPos fp fx p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fx
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.uwrapForward p
         (hshowParen
            (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fp
               (T.uap1 T.mkNoSrcPos p
                  (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                  (T.conInteger T.mkNoSrcPos p (6))))
            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
               (T.uap1 T.mkNoSrcPos p (gshowChar T.mkNoSrcPos p)
                  (T.conChar T.mkNoSrcPos p '-'))
               (T.uap1 T.mkNoSrcPos p fshowPos
                  (T.uap1 T.mkNoSrcPos p
                     (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                     fx)))
            p))
      (T.ucguard (gotherwise T.mkNoSrcPos p)
         (T.uap1 T.mkNoSrcPos p
            (T.projection T.mkNoSrcPos p fshowPos)
            fx)
         (T.fatal p))
 
gshowInt, gshowOct, gshowHex ::
            (Integral a) =>
            T.RefSrcPos -> T.RefExp -> T.R (T.Fun a ShowS)
 
sshowInt, sshowOct, sshowHex ::
            (Integral a) => T.R (T.Fun a ShowS)
gshowOct pshowOct p = T.uconstUse pshowOct p sshowOct
sshowOct
  = T.uconstDef p ashowOct
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gshowIntAtBase T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (8)))
           (gintToDigit T.mkNoSrcPos p))
gshowInt pshowInt p = T.uconstUse pshowInt p sshowInt
sshowInt
  = T.uconstDef p ashowInt
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gshowIntAtBase T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (10)))
           (gintToDigit T.mkNoSrcPos p))
gshowHex pshowHex p = T.uconstUse pshowHex p sshowHex
sshowHex
  = T.uconstDef p ashowHex
      (\ p ->
         T.uap2 T.mkNoSrcPos p (gshowIntAtBase T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (16)))
           (gintToDigit T.mkNoSrcPos p))
 
gshowIntAtBase ::
                 (Integral a) =>
                 T.RefSrcPos ->
                   T.RefExp ->
                     T.R
                       (T.Fun a (T.Fun (T.Fun Int Char) (T.Fun a ShowS)))
 
hshowIntAtBase ::
                 (Integral a) =>
                 T.R a ->
                   T.R (T.Fun Int Char) ->
                     T.R a -> T.R ShowS___1 -> T.RefExp -> T.R ShowS___2
gshowIntAtBase pshowIntAtBase p
  = T.ufun4 ashowIntAtBase pshowIntAtBase p
      hshowIntAtBase
hshowIntAtBase fbase fintToDig fn frest p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fn
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (T.uwrapForward p
         (herror
            (T.fromLitString T.mkNoSrcPos p
               "Numeric.showIntAtBase: can't show negative numbers")
            p))
      (T.ucguard
         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
            (gn' T.mkNoSrcPos p)
            (T.uap1 T.mkNoSrcPos p
               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
               (T.conInteger T.mkNoSrcPos p (0))))
         (grest' T.mkNoSrcPos p)
         (T.ucguard (gotherwise T.mkNoSrcPos p)
            (T.uwrapForward p
               (hshowIntAtBase fbase fintToDig (gn' T.mkNoSrcPos p)
                  (grest' T.mkNoSrcPos p)
                  p))
            (T.fatal p)))
  where gn' pn' p = T.uconstUse pn' p sn'
        gd pd p = T.uconstUse pd p sd
        sn'
          = T.uconstDef p c2954v5v2954v27n'
              (\ _ ->
                 case j2954v5v2954v27n' of
                     (kn', fn', fd) -> fn')
        sd
          = T.uconstDef p c2954v5v2954v27d
              (\ _ ->
                 case j2954v5v2954v27n' of
                     (kn', fn', fd) -> fd)
        j2954v5v2954v27n'
          = case
              T.uap2 T.mkNoSrcPos p (gquotRem T.mkNoSrcPos p) fn
                fbase
              of
                T.R (T.Tuple2 fn' fd) kn' -> (kn', fn', fd)
                _ -> T.fatal p
        grest' prest' p = T.uconstUse prest' p srest'
        srest'
          = T.uconstDef p c2955v5v2955v45rest'
              (\ p ->
                 T.con2 T.mkNoSrcPos p T.Cons T.aCons
                   (T.uap1 T.mkNoSrcPos p fintToDig
                      (T.uap1 T.mkNoSrcPos p (gfromIntegral T.mkNoSrcPos p)
                         (gd T.mkNoSrcPos p)))
                   frest)
 
greadSigned ::
              (Real a) =>
              T.RefSrcPos ->
                T.RefExp -> T.R (T.Fun (ReadS a) (ReadS a))
 
hreadSigned ::
              (Real a) =>
              T.R (ReadS a) -> T.RefExp -> T.R (ReadS a)
greadSigned preadSigned p
  = T.ufun1 areadSigned preadSigned p hreadSigned
hreadSigned freadPos p
  = T.uwrapForward p
      (hreadParen (T.con0 T.mkNoSrcPos p False aFalse)
         (gread' T.mkNoSrcPos p)
         p)
  where gread' pread' p
          = T.ufun1 c2959v28v2961v68read' pread' p hread'
        aread' = c2959v28v2961v68read'
        hread' fr p
          = T.uwrapForward p
              ((*++) (T.uwrapForward p (hread'' fr p))
                 (T.uap2 T.mkNoSrcPos p
                    ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                    (T.uwrapForward p (hlex fr p))
                    (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                       (\ fv2960v49v2960v58v1 p ->
                          T.uccase T.mkNoSrcPos p
                            (let v2960v49v2960v58v1
                                   (T.R
                                      (T.Tuple2
                                         (T.R (T.Cons (T.R '-' _) (T.R T.Nil _))
                                            _)
                                         fs)
                                      _)
                                   p
                                   = T.uap2 T.mkNoSrcPos p
                                       ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                       (T.uwrapForward p (hread'' fs p))
                                       (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                          (\ (T.R (T.Tuple2 fx ft) _) p ->
                                             T.uap1 T.mkNoSrcPos p
                                               (Hat.PreludeBasic.greturn
                                                  T.mkNoSrcPos
                                                  p)
                                               (T.con2 T.mkNoSrcPos p T.Tuple2
                                                  T.aTuple2
                                                  (T.uap1 T.mkNoSrcPos p
                                                     (Hat.PreludeBasic.gnegate
                                                        T.mkNoSrcPos
                                                        p)
                                                     fx)
                                                  ft)))
                                 v2960v49v2960v58v1 _ p
                                   = T.uap1 T.mkNoSrcPos p
                                       (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                       (T.fromLitString T.mkNoSrcPos p
                                          "pattern-match failure in do-expression")
                               in v2960v49v2960v58v1)
                            fv2960v49v2960v58v1)))
                 p)
        gread'' pread'' p
          = T.ufun1 c2962v28v2963v71read'' pread'' p hread''
        aread'' = c2962v28v2963v71read''
        hread'' fr p
          = T.uap2 T.mkNoSrcPos p
              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
              (T.uwrapForward p (hlex fr p))
              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                 (\ (T.R (T.Tuple2 fstr fs) _) p ->
                    T.uap2 T.mkNoSrcPos p
                      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p freadPos fstr)
                      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                         (\ fv2963v49v2963v58v1 p ->
                            T.uccase T.mkNoSrcPos p
                              (let v2963v49v2963v58v1
                                     (T.R (T.Tuple2 fn (T.R T.Nil _)) _) p
                                     = T.uap1 T.mkNoSrcPos p
                                         (Hat.PreludeBasic.greturn T.mkNoSrcPos
                                            p)
                                         (T.con2 T.mkNoSrcPos p T.Tuple2
                                            T.aTuple2
                                            fn
                                            fs)
                                   v2963v49v2963v58v1 _ p
                                     = T.uap1 T.mkNoSrcPos p
                                         (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                         (T.fromLitString T.mkNoSrcPos p
                                            "pattern-match failure in do-expression")
                                 in v2963v49v2963v58v1)
                              fv2963v49v2963v58v1))))
 
greadInt ::
           (Integral a) =>
           T.RefSrcPos ->
             T.RefExp ->
               T.R
                 (T.Fun a
                    (T.Fun (T.Fun Char Bool)
                       (T.Fun (T.Fun Char Int) (ReadS a))))
 
hreadInt ::
           (Integral a) =>
           T.R a ->
             T.R (T.Fun Char Bool) ->
               T.R (T.Fun Char Int) ->
                 T.R (ReadS___1 a) -> T.RefExp -> T.R (ReadS___2 a)
greadInt preadInt p
  = T.ufun4 areadInt preadInt p hreadInt
hreadInt fradix fisDig fdigToInt fs p
  = T.uap2 T.mkNoSrcPos p
      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
      (T.uwrapForward p (hnonnull fisDig fs p))
      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
         (\ (T.R (T.Tuple2 fds fr) _) p ->
            T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
              (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.uwrapForward p
                    (hfoldl1
                       (T.ufun2 T.mkLambda T.mkNoSrcPos p
                          (\ fn fd p ->
                             T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                               (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fn
                                  fradix)
                               fd))
                       (T.uwrapForward p
                          (hmap
                             (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                                (gfromIntegral T.mkNoSrcPos p)
                                fdigToInt)
                             fds
                             p))
                       p))
                 fr)))
 
greadDec, greadOct, greadHex ::
            (Integral a) =>
            T.RefSrcPos -> T.RefExp -> T.R (ReadS a)
 
sreadDec, sreadOct, sreadHex ::
            (Integral a) => T.R (ReadS a)
greadDec preadDec p = T.uconstUse preadDec p sreadDec
sreadDec
  = T.uconstDef p areadDec
      (\ p ->
         T.uap3 T.mkNoSrcPos p (greadInt T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (10)))
           (gisDigit T.mkNoSrcPos p)
           (gdigitToInt T.mkNoSrcPos p))
greadOct preadOct p = T.uconstUse preadOct p sreadOct
sreadOct
  = T.uconstDef p areadOct
      (\ p ->
         T.uap3 T.mkNoSrcPos p (greadInt T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (8)))
           (gisOctDigit T.mkNoSrcPos p)
           (gdigitToInt T.mkNoSrcPos p))
greadHex preadHex p = T.uconstUse preadHex p sreadHex
sreadHex
  = T.uconstDef p areadHex
      (\ p ->
         T.uap3 T.mkNoSrcPos p (greadInt T.mkNoSrcPos p)
           (T.uap1 T.mkNoSrcPos p
              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
              (T.conInteger T.mkNoSrcPos p (16)))
           (gisHexDigit T.mkNoSrcPos p)
           (gdigitToInt T.mkNoSrcPos p))
 
gshowEFloat ::
              (RealFloat a) =>
              T.RefSrcPos ->
                T.RefExp -> T.R (T.Fun (Maybe Int) (T.Fun a ShowS))
 
hshowEFloat ::
              (RealFloat a) =>
              T.R (Maybe Int) -> T.R a -> T.RefExp -> T.R ShowS
 
gshowFFloat ::
              (RealFloat a) =>
              T.RefSrcPos ->
                T.RefExp -> T.R (T.Fun (Maybe Int) (T.Fun a ShowS))
 
hshowFFloat ::
              (RealFloat a) =>
              T.R (Maybe Int) -> T.R a -> T.RefExp -> T.R ShowS
 
gshowGFloat ::
              (RealFloat a) =>
              T.RefSrcPos ->
                T.RefExp -> T.R (T.Fun (Maybe Int) (T.Fun a ShowS))
 
hshowGFloat ::
              (RealFloat a) =>
              T.R (Maybe Int) -> T.R a -> T.RefExp -> T.R ShowS
 
gshowFloat ::
             (RealFloat a) =>
             T.RefSrcPos -> T.RefExp -> T.R (T.Fun a ShowS)
 
sshowFloat :: (RealFloat a) => T.R (T.Fun a ShowS)
gshowEFloat pshowEFloat p
  = T.ufun2 ashowEFloat pshowEFloat p hshowEFloat
hshowEFloat fd fx p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.uwrapForward p
         (hformatRealFloat
            (T.con0 T.mkNoSrcPos p FFExponent aFFExponent)
            fd
            fx
            p))
gshowFFloat pshowFFloat p
  = T.ufun2 ashowFFloat pshowFFloat p hshowFFloat
hshowFFloat fd fx p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.uwrapForward p
         (hformatRealFloat
            (T.con0 T.mkNoSrcPos p FFFixed aFFFixed)
            fd
            fx
            p))
gshowGFloat pshowGFloat p
  = T.ufun2 ashowGFloat pshowGFloat p hshowGFloat
hshowGFloat fd fx p
  = T.uap1 T.mkNoSrcPos p (gshowString T.mkNoSrcPos p)
      (T.uwrapForward p
         (hformatRealFloat
            (T.con0 T.mkNoSrcPos p FFGeneric aFFGeneric)
            fd
            fx
            p))
gshowFloat pshowFloat p
  = T.uconstUse pshowFloat p sshowFloat
sshowFloat
  = T.uconstDef p ashowFloat
      (\ p ->
         T.uap1 T.mkNoSrcPos p (gshowGFloat T.mkNoSrcPos p)
           (T.con0 T.mkNoSrcPos p Nothing aNothing))
 
data FFFormat = FFExponent
              | FFFixed
              | FFGeneric
 
instance T.WrapVal FFFormat where
        wrapVal pwrapVal kwrapVal@FFExponent p
          = T.R kwrapVal (T.mkValueUse p pwrapVal aFFExponent)
        wrapVal pwrapVal kwrapVal@FFFixed p
          = T.R kwrapVal (T.mkValueUse p pwrapVal aFFFixed)
        wrapVal pwrapVal kwrapVal@FFGeneric p
          = T.R kwrapVal (T.mkValueUse p pwrapVal aFFGeneric)
 
gformatRealFloat ::
                   (RealFloat a) =>
                   T.RefSrcPos ->
                     T.RefExp ->
                       T.R
                         (T.Fun FFFormat (T.Fun (Maybe Int) (T.Fun a String)))
 
hformatRealFloat ::
                   (RealFloat a) =>
                   T.R FFFormat ->
                     T.R (Maybe Int) -> T.R a -> T.RefExp -> T.R String
gformatRealFloat pformatRealFloat p
  = T.ufun3 aformatRealFloat pformatRealFloat p
      hformatRealFloat
hformatRealFloat ffmt fdecs fx p = gs T.mkNoSrcPos p
  where gbase pbase p = T.uconstUse pbase p sbase
        sbase
          = T.uconstDef p c2999v5v2999v13base
              (\ p ->
                 T.uap1 T.mkNoSrcPos p
                   (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                   (T.conInteger T.mkNoSrcPos p (10)))
        gs ps p = T.uconstUse ps p ss
        ss
          = T.uconstDef p c3000v5v3007v56s
              (\ p ->
                 T.ucif p
                   (T.uap1 T.mkNoSrcPos p (gisNaN T.mkNoSrcPos p) fx)
                   (T.fromLitString T.mkNoSrcPos p "NaN")
                   (T.ucif p
                      (T.uap1 T.mkNoSrcPos p (gisInfinite T.mkNoSrcPos p)
                         fx)
                      (T.ucif p
                         (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fx
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (0))))
                         (T.fromLitString T.mkNoSrcPos p "-Infinity")
                         (T.fromLitString T.mkNoSrcPos p "Infinity"))
                      (T.ucif p
                         (T.uwrapForward p
                            ((*||)
                               (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fx
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (0))))
                               (T.uap1 T.mkNoSrcPos p
                                  (gisNegativeZero T.mkNoSrcPos p)
                                  fx)
                               p))
                         (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                            (T.conChar T.mkNoSrcPos p '-')
                            (T.uwrapForward p
                               (hdoFmt ffmt
                                  (T.uwrapForward p
                                     (hfloatToDigits
                                        (T.uap1 T.mkNoSrcPos p
                                           (gtoInteger T.mkNoSrcPos p)
                                           (gbase T.mkNoSrcPos p))
                                        (T.uap1 T.mkNoSrcPos p
                                           (Hat.PreludeBasic.gnegate
                                              T.mkNoSrcPos
                                              p)
                                           fx)
                                        p))
                                  p)))
                         (T.uwrapForward p
                            (hdoFmt ffmt
                               (T.uwrapForward p
                                  (hfloatToDigits
                                     (T.uap1 T.mkNoSrcPos p
                                        (gtoInteger T.mkNoSrcPos p)
                                        (gbase T.mkNoSrcPos p))
                                     fx
                                     p))
                               p)))))
        gdoFmt pdoFmt p
          = T.ufun2 c3009v5v3064v0doFmt pdoFmt p hdoFmt
        adoFmt = c3009v5v3064v0doFmt
        hdoFmt ffmt (T.R (T.Tuple2 fis fe) _) p
          = let gds pds p = T.uconstUse pds p sds
                sds
                  = T.uconstDef p c3011v12v3011v33ds
                      (\ p ->
                         T.uwrapForward p
                           (hmap (gintToDigit T.mkNoSrcPos p) fis p))
              in
              T.uccase T.mkNoSrcPos p
                (let v3013v9v3064v0v1 (T.R FFGeneric _) p
                       = T.uwrapForward p
                           (hdoFmt
                              (T.ucif p
                                 (T.uwrapForward p
                                    ((*||)
                                       (T.uap2 T.mkNoSrcPos p
                                          ((!<) T.mkNoSrcPos p)
                                          fe
                                          (T.uap1 T.mkNoSrcPos p
                                             (Hat.PreludeBasic.gfromInteger
                                                T.mkNoSrcPos
                                                p)
                                             (T.conInteger T.mkNoSrcPos p (0))))
                                       (T.uap2 T.mkNoSrcPos p
                                          ((!>) T.mkNoSrcPos p)
                                          fe
                                          (T.uap1 T.mkNoSrcPos p
                                             (Hat.PreludeBasic.gfromInteger
                                                T.mkNoSrcPos
                                                p)
                                             (T.conInteger T.mkNoSrcPos p (7))))
                                       p))
                                 (T.con0 T.mkNoSrcPos p FFExponent aFFExponent)
                                 (T.con0 T.mkNoSrcPos p FFFixed aFFFixed))
                              (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fis fe)
                              p)
                     v3013v9v3064v0v1 (T.R FFExponent _) p
                       = T.uccase T.mkNoSrcPos p
                           (let v3018v13v3035v0v1 (T.R Nothing _) p
                                  = T.uccase T.mkNoSrcPos p
                                      (let v3020v17v3025v0v1 (T.R T.Nil _) p
                                             = T.fromLitString T.mkNoSrcPos p
                                                 "0.0e0"
                                           v3020v17v3025v0v1
                                             (T.R (T.Cons fd (T.R T.Nil _)) _) p
                                             = T.con2 T.mkNoSrcPos p T.Cons
                                                 T.aCons
                                                 fd
                                                 (T.uwrapForward p
                                                    ((*++)
                                                       (T.fromLitString
                                                          T.mkNoSrcPos
                                                          p
                                                          ".0e")
                                                       (T.uap1 T.mkNoSrcPos p
                                                          (gshow T.mkNoSrcPos p)
                                                          (T.uap2 T.mkNoSrcPos p
                                                             ((!-) T.mkNoSrcPos
                                                                p)
                                                             fe
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (Hat.PreludeBasic.gfromInteger
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.conInteger
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   (1)))))
                                                       p))
                                           v3020v17v3025v0v1
                                             (T.R (T.Cons fd fds) _) p
                                             = T.con2 T.mkNoSrcPos p T.Cons
                                                 T.aCons
                                                 fd
                                                 (T.con2 T.mkNoSrcPos p T.Cons
                                                    T.aCons
                                                    (T.conChar T.mkNoSrcPos p
                                                       '.')
                                                    (T.uwrapForward p
                                                       ((*++) fds
                                                          (T.con2 T.mkNoSrcPos p
                                                             T.Cons
                                                             T.aCons
                                                             (T.conChar
                                                                T.mkNoSrcPos
                                                                p
                                                                'e')
                                                             (T.uap1
                                                                T.mkNoSrcPos
                                                                p
                                                                (gshow
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!-)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   fe
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (Hat.PreludeBasic.gfromInteger
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.conInteger
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (1))))))
                                                          p)))
                                           v3020v17v3025v0v1 _ p = T.fatal p
                                         in v3020v17v3025v0v1)
                                      (gds T.mkNoSrcPos p)
                                v3018v13v3035v0v1 (T.R (Just fdec) _) p
                                  = let gdec' pdec' p
                                          = T.uconstUse pdec' p sdec'
                                        sdec'
                                          = T.uconstDef p c3026v21v3026v36dec'
                                              (\ p ->
                                                 T.uap2 T.mkNoSrcPos p
                                                   (gmax T.mkNoSrcPos p)
                                                   fdec
                                                   (T.uap1 T.mkNoSrcPos p
                                                      (Hat.PreludeBasic.gfromInteger
                                                         T.mkNoSrcPos
                                                         p)
                                                      (T.conInteger T.mkNoSrcPos
                                                         p
                                                         (1))))
                                      in
                                      T.uccase T.mkNoSrcPos p
                                        (let v3027v17v3035v0v1 (T.R T.Nil _) p
                                               = T.con2 T.mkNoSrcPos p T.Cons
                                                   T.aCons
                                                   (T.conChar T.mkNoSrcPos p
                                                      '0')
                                                   (T.con2 T.mkNoSrcPos p T.Cons
                                                      T.aCons
                                                      (T.conChar T.mkNoSrcPos p
                                                         '.')
                                                      (T.uwrapForward p
                                                         ((*++)
                                                            (T.uwrapForward p
                                                               (htake
                                                                  (gdec'
                                                                     T.mkNoSrcPos
                                                                     p)
                                                                  (T.uwrapForward
                                                                     p
                                                                     (hrepeat
                                                                        (T.conChar
                                                                           T.mkNoSrcPos
                                                                           p
                                                                           '0')
                                                                        p))
                                                                  p))
                                                            (T.fromLitString
                                                               T.mkNoSrcPos
                                                               p
                                                               "e0")
                                                            p)))
                                             v3027v17v3035v0v1 _ p
                                               = let gei pei p
                                                       = T.uconstUse pei p sei
                                                     gis' pis' p
                                                       = T.uconstUse pis' p sis'
                                                     sei
                                                       = T.uconstDef p
                                                           c3030v25v3030v60ei
                                                           (\ _ ->
                                                              case
                                                                j3030v25v3030v60ei
                                                                of
                                                                  (kei, fei,
                                                                   fis') -> fei)
                                                     sis'
                                                       = T.uconstDef p
                                                           c3030v25v3030v60is'
                                                           (\ _ ->
                                                              case
                                                                j3030v25v3030v60ei
                                                                of
                                                                  (kei, fei,
                                                                   fis') -> fis')
                                                     j3030v25v3030v60ei
                                                       = case
                                                           T.uwrapForward p
                                                             (hroundTo
                                                                (gbase
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.uap2
                                                                   T.mkNoSrcPos
                                                                   p
                                                                   ((!+)
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (gdec'
                                                                      T.mkNoSrcPos
                                                                      p)
                                                                   (T.uap1
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      (Hat.PreludeBasic.gfromInteger
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.conInteger
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (1))))
                                                                fis
                                                                p)
                                                           of
                                                             T.R
                                                               (T.Tuple2 fei
                                                                  fis')
                                                               kei -> (kei, fei,
                                                                       fis')
                                                             _ -> T.fatal p
                                                     gd pd p
                                                       = T.uconstUse pd p sd
                                                     gds pds p
                                                       = T.uconstUse pds p sds
                                                     sd
                                                       = T.uconstDef p
                                                           c3031v25v3032v69d
                                                           (\ _ ->
                                                              case
                                                                j3031v25v3032v69d
                                                                of
                                                                  (kd, fd,
                                                                   fds) -> fd)
                                                     sds
                                                       = T.uconstDef p
                                                           c3031v25v3032v69ds
                                                           (\ _ ->
                                                              case
                                                                j3031v25v3032v69d
                                                                of
                                                                  (kd, fd,
                                                                   fds) -> fds)
                                                     j3031v25v3032v69d
                                                       = case
                                                           T.uwrapForward p
                                                             (hmap
                                                                (gintToDigit
                                                                   T.mkNoSrcPos
                                                                   p)
                                                                (T.ucif p
                                                                   (T.uap2
                                                                      T.mkNoSrcPos
                                                                      p
                                                                      ((!>)
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (gei
                                                                         T.mkNoSrcPos
                                                                         p)
                                                                      (T.uap1
                                                                         T.mkNoSrcPos
                                                                         p
                                                                         (Hat.PreludeBasic.gfromInteger
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         (T.conInteger
                                                                            T.mkNoSrcPos
                                                                            p
                                                                            (0))))
                                                                   (T.uwrapForward
                                                                      p
                                                                      (hinit
                                                                         (gis'
                                                                            T.mkNoSrcPos
                                                                            p)
                                                                         p))
                                                                   (gis'
                                                                      T.mkNoSrcPos
                                                                      p))
                                                                p)
                                                           of
                                                             T.R (T.Cons fd fds)
                                                               kd -> (kd, fd,
                                                                      fds)
                                                             _ -> T.fatal p
                                                   in
                                                   T.con2 T.mkNoSrcPos p T.Cons
                                                     T.aCons
                                                     (gd T.mkNoSrcPos p)
                                                     (T.con2 T.mkNoSrcPos p
                                                        T.Cons
                                                        T.aCons
                                                        (T.conChar T.mkNoSrcPos
                                                           p
                                                           '.')
                                                        (T.uwrapForward p
                                                           ((*++)
                                                              (gds T.mkNoSrcPos
                                                                 p)
                                                              (T.uwrapForward p
                                                                 ((*++)
                                                                    (T.fromLitString
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       "e")
                                                                    (T.uap1
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       (gshow
                                                                          T.mkNoSrcPos
                                                                          p)
                                                                       (T.uap2
                                                                          T.mkNoSrcPos
                                                                          p
                                                                          ((!+)
                                                                             T.mkNoSrcPos
                                                                             p)
                                                                          (T.uap2
                                                                             T.mkNoSrcPos
                                                                             p
                                                                             ((!-)
                                                                                T.mkNoSrcPos
                                                                                p)
                                                                             fe
                                                                             (T.uap1
                                                                                T.mkNoSrcPos
                                                                                p
                                                                                (Hat.PreludeBasic.gfromInteger
                                                                                   T.mkNoSrcPos
                                                                                   p)
                                                                                (T.conInteger
                                                                                   T.mkNoSrcPos
                                                                                   p
                                                                                   (1))))
                                                                          (gei
                                                                             T.mkNoSrcPos
                                                                             p)))
                                                                    p))
                                                              p)))
                                           in v3027v17v3035v0v1)
                                        fis
                                v3018v13v3035v0v1 _ p = T.fatal p
                              in v3018v13v3035v0v1)
                           fdecs
                     v3013v9v3064v0v1 (T.R FFFixed _) p
                       = T.uccase T.mkNoSrcPos p
                           (let v3036v13v3055v0v1 (T.R Nothing _) p
                                  = T.ucguard
                                      (T.uap2 T.mkNoSrcPos p
                                         ((!>) T.mkNoSrcPos p)
                                         fe
                                         (T.uap1 T.mkNoSrcPos p
                                            (Hat.PreludeBasic.gfromInteger
                                               T.mkNoSrcPos
                                               p)
                                            (T.conInteger T.mkNoSrcPos p (0))))
                                      (T.uwrapForward p
                                         ((*++)
                                            (T.uwrapForward p
                                               (htake fe
                                                  (T.uwrapForward p
                                                     ((*++) (gds T.mkNoSrcPos p)
                                                        (T.uwrapForward p
                                                           (hrepeat
                                                              (T.conChar
                                                                 T.mkNoSrcPos
                                                                 p
                                                                 '0')
                                                              p))
                                                        p))
                                                  p))
                                            (T.con2 T.mkNoSrcPos p T.Cons
                                               T.aCons
                                               (T.conChar T.mkNoSrcPos p '.')
                                               (T.uwrapForward p
                                                  (hmk0
                                                     (T.uwrapForward p
                                                        (hdrop fe
                                                           (gds T.mkNoSrcPos p)
                                                           p))
                                                     p)))
                                            p))
                                      (T.ucguard (gotherwise T.mkNoSrcPos p)
                                         (T.uwrapForward p
                                            ((*++)
                                               (T.fromLitString T.mkNoSrcPos p
                                                  "0.")
                                               (T.uwrapForward p
                                                  (hmk0
                                                     (T.uwrapForward p
                                                        ((*++)
                                                           (T.uwrapForward p
                                                              (hreplicate
                                                                 (T.uap1
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (Hat.PreludeBasic.gnegate
                                                                       T.mkNoSrcPos
                                                                       p)
                                                                    fe)
                                                                 (T.conChar
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    '0')
                                                                 p))
                                                           (gds T.mkNoSrcPos p)
                                                           p))
                                                     p))
                                               p))
                                         (T.fatal p))
                                v3036v13v3055v0v1 (T.R (Just fdec) _) p
                                  = let gdec' pdec' p
                                          = T.uconstUse pdec' p sdec'
                                        sdec'
                                          = T.uconstDef p c3043v22v3043v37dec'
                                              (\ p ->
                                                 T.uap2 T.mkNoSrcPos p
                                                   (gmax T.mkNoSrcPos p)
                                                   fdec
                                                   (T.uap1 T.mkNoSrcPos p
                                                      (Hat.PreludeBasic.gfromInteger
                                                         T.mkNoSrcPos
                                                         p)
                                                      (T.conInteger T.mkNoSrcPos
                                                         p
                                                         (0))))
                                      in
                                      T.ucif p
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!>=) T.mkNoSrcPos p)
                                           fe
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p
                                                 (0))))
                                        (let gei pei p = T.uconstUse pei p sei
                                             gis' pis' p
                                               = T.uconstUse pis' p sis'
                                             sei
                                               = T.uconstDef p
                                                   c3045v24v3045v61ei
                                                   (\ _ ->
                                                      case j3045v24v3045v61ei of
                                                          (kei, fei,
                                                           fis') -> fei)
                                             sis'
                                               = T.uconstDef p
                                                   c3045v24v3045v61is'
                                                   (\ _ ->
                                                      case j3045v24v3045v61ei of
                                                          (kei, fei,
                                                           fis') -> fis')
                                             j3045v24v3045v61ei
                                               = case
                                                   T.uwrapForward p
                                                     (hroundTo
                                                        (gbase T.mkNoSrcPos p)
                                                        (T.uap2 T.mkNoSrcPos p
                                                           ((!+) T.mkNoSrcPos p)
                                                           (gdec' T.mkNoSrcPos
                                                              p)
                                                           fe)
                                                        fis
                                                        p)
                                                   of
                                                     T.R (T.Tuple2 fei fis')
                                                       kei -> (kei, fei, fis')
                                                     _ -> T.fatal p
                                             gls pls p = T.uconstUse pls p sls
                                             grs prs p = T.uconstUse prs p srs
                                             sls
                                               = T.uconstDef p
                                                   c3046v24v3047v66ls
                                                   (\ _ ->
                                                      case j3046v24v3047v66ls of
                                                          (kls, fls,
                                                           frs) -> fls)
                                             srs
                                               = T.uconstDef p
                                                   c3046v24v3047v66rs
                                                   (\ _ ->
                                                      case j3046v24v3047v66ls of
                                                          (kls, fls,
                                                           frs) -> frs)
                                             j3046v24v3047v66ls
                                               = case
                                                   T.uwrapForward p
                                                     (hsplitAt
                                                        (T.uap2 T.mkNoSrcPos p
                                                           ((!+) T.mkNoSrcPos p)
                                                           fe
                                                           (gei T.mkNoSrcPos p))
                                                        (T.uwrapForward p
                                                           (hmap
                                                              (gintToDigit
                                                                 T.mkNoSrcPos
                                                                 p)
                                                              (gis' T.mkNoSrcPos
                                                                 p)
                                                              p))
                                                        p)
                                                   of
                                                     T.R (T.Tuple2 fls frs)
                                                       kls -> (kls, fls, frs)
                                                     _ -> T.fatal p
                                           in
                                           T.uwrapForward p
                                             ((*++)
                                                (T.uwrapForward p
                                                   (hmk0 (gls T.mkNoSrcPos p)
                                                      p))
                                                (T.uwrapForward p
                                                   (hmkdot0 (grs T.mkNoSrcPos p)
                                                      p))
                                                p))
                                        (let gei pei p = T.uconstUse pei p sei
                                             gis' pis' p
                                               = T.uconstUse pis' p sis'
                                             sei
                                               = T.uconstDef p
                                                   c3050v24v3051v67ei
                                                   (\ _ ->
                                                      case j3050v24v3051v67ei of
                                                          (kei, fei,
                                                           fis') -> fei)
                                             sis'
                                               = T.uconstDef p
                                                   c3050v24v3051v67is'
                                                   (\ _ ->
                                                      case j3050v24v3051v67ei of
                                                          (kei, fei,
                                                           fis') -> fis')
                                             j3050v24v3051v67ei
                                               = case
                                                   T.uwrapForward p
                                                     (hroundTo
                                                        (gbase T.mkNoSrcPos p)
                                                        (gdec' T.mkNoSrcPos p)
                                                        (T.uwrapForward p
                                                           ((*++)
                                                              (T.uwrapForward p
                                                                 (hreplicate
                                                                    (T.uap1
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       (Hat.PreludeBasic.gnegate
                                                                          T.mkNoSrcPos
                                                                          p)
                                                                       fe)
                                                                    (T.uap1
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       (Hat.PreludeBasic.gfromInteger
                                                                          T.mkNoSrcPos
                                                                          p)
                                                                       (T.conInteger
                                                                          T.mkNoSrcPos
                                                                          p
                                                                          (0)))
                                                                    p))
                                                              fis
                                                              p))
                                                        p)
                                                   of
                                                     T.R (T.Tuple2 fei fis')
                                                       kei -> (kei, fei, fis')
                                                     _ -> T.fatal p
                                             gd pd p = T.uconstUse pd p sd
                                             gds pds p = T.uconstUse pds p sds
                                             sd
                                               = T.uconstDef p c3052v24v3053v67d
                                                   (\ _ ->
                                                      case j3052v24v3053v67d of
                                                          (kd, fd, fds) -> fd)
                                             sds
                                               = T.uconstDef p
                                                   c3052v24v3053v67ds
                                                   (\ _ ->
                                                      case j3052v24v3053v67d of
                                                          (kd, fd, fds) -> fds)
                                             j3052v24v3053v67d
                                               = case
                                                   T.uwrapForward p
                                                     (hmap
                                                        (gintToDigit
                                                           T.mkNoSrcPos
                                                           p)
                                                        (T.ucif p
                                                           (T.uap2 T.mkNoSrcPos
                                                              p
                                                              ((!>) T.mkNoSrcPos
                                                                 p)
                                                              (gei T.mkNoSrcPos
                                                                 p)
                                                              (T.uap1
                                                                 T.mkNoSrcPos
                                                                 p
                                                                 (Hat.PreludeBasic.gfromInteger
                                                                    T.mkNoSrcPos
                                                                    p)
                                                                 (T.conInteger
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (0))))
                                                           (gis' T.mkNoSrcPos p)
                                                           (T.con2 T.mkNoSrcPos
                                                              p
                                                              T.Cons
                                                              T.aCons
                                                              (T.uap1
                                                                 T.mkNoSrcPos
                                                                 p
                                                                 (Hat.PreludeBasic.gfromInteger
                                                                    T.mkNoSrcPos
                                                                    p)
                                                                 (T.conInteger
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (0)))
                                                              (gis' T.mkNoSrcPos
                                                                 p)))
                                                        p)
                                                   of
                                                     T.R (T.Cons fd fds)
                                                       kd -> (kd, fd, fds)
                                                     _ -> T.fatal p
                                           in
                                           T.con2 T.mkNoSrcPos p T.Cons T.aCons
                                             (gd T.mkNoSrcPos p)
                                             (T.uwrapForward p
                                                (hmkdot0 (gds T.mkNoSrcPos p)
                                                   p)))
                                v3036v13v3055v0v1 _ p = T.fatal p
                              in v3036v13v3055v0v1)
                           fdecs
                       where gmk0 pmk0 p
                               = T.ufun1 c3056v15v3057v24mk0 pmk0 p hmk0
                             amk0 = c3056v15v3057v24mk0
                             hmk0 (T.R T.Nil _) p
                               = T.fromLitString T.mkNoSrcPos p "0"
                             hmk0 fs p = T.projection T.mkNoSrcPos p fs
                             gmkdot0 pmkdot0 p
                               = T.ufun1 c3059v15v3060v33mkdot0 pmkdot0 p
                                   hmkdot0
                             amkdot0 = c3059v15v3060v33mkdot0
                             hmkdot0 (T.R T.Nil _) p
                               = T.fromLitString T.mkNoSrcPos p ""
                             hmkdot0 fs p
                               = T.con2 T.mkNoSrcPos p T.Cons T.aCons
                                   (T.conChar T.mkNoSrcPos p '.')
                                   fs
                     v3013v9v3064v0v1 _ p = T.fatal p
                   in v3013v9v3064v0v1)
                ffmt
 
groundTo ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R
               (T.Fun Int
                  (T.Fun Int
                     (T.Fun (T.List Int) (T.Tuple2 Int (T.List Int)))))
 
hroundTo ::
         T.R Int ->
           T.R Int ->
             T.R (T.List Int) ->
               T.RefExp -> T.R (T.Tuple2 Int (T.List Int))
groundTo proundTo p
  = T.ufun3 aroundTo proundTo p hroundTo
hroundTo fbase fd fis p
  = T.uccase T.mkNoSrcPos p
      (let v3065v21v3068v0v1
             v3065v21v3068v0v2@(T.R
                                  (T.Tuple2 fv3066v18v3066v18n fis) _)
             p
             = T.ucguard
                 (T.uap2 T.mkNoSrcPos p
                    ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                    fv3066v18v3066v18n
                    (T.uap1 T.mkNoSrcPos p
                       (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                       (T.conInteger T.mkNoSrcPos p (0))))
                 (h3066v17v3066v34n fis p)
                 (v3065v21v3068v0v3 v3065v21v3068v0v2 p)
             where h3066v17v3066v34n fis p
                     = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0)))
                         fis
                   h3066v17v3066v34n _ p
                     = v3065v21v3068v0v3 v3065v21v3068v0v2 p
           v3065v21v3068v0v1 v3065v21v3068v0v2 p
             = v3065v21v3068v0v3 v3065v21v3068v0v2 p
           v3065v21v3068v0v3
             (T.R (T.Tuple2 fv3067v18v3067v18n fis) _) p
             = T.ucguard
                 (T.uap2 T.mkNoSrcPos p
                    ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                    fv3067v18v3067v18n
                    (T.uap1 T.mkNoSrcPos p
                       (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                       (T.conInteger T.mkNoSrcPos p (1))))
                 (h3067v17v3067v38n fis p)
                 (T.fatal p)
             where h3067v17v3067v38n fis p
                     = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1)))
                         (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                            (T.uap1 T.mkNoSrcPos p
                               (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                               (T.conInteger T.mkNoSrcPos p (1)))
                            fis)
                   h3067v17v3067v38n _ p = T.fatal p
           v3065v21v3068v0v3 _ p = T.fatal p
         in v3065v21v3068v0v1)
      (T.uwrapForward p (hf fd fis p))
  where gb2 pb2 p = T.uconstUse pb2 p sb2
        sb2
          = T.uconstDef p c3068v9v3068v25b2
              (\ p ->
                 T.uap2 T.mkNoSrcPos p (gdiv T.mkNoSrcPos p) fbase
                   (T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (2))))
        gf pf p = T.ufun2 c3069v9v3074v60f pf p hf
        af = c3069v9v3074v60f
        hf fn (T.R T.Nil _) p
          = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
              (T.uap1 T.mkNoSrcPos p
                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                 (T.conInteger T.mkNoSrcPos p (0)))
              (T.uwrapForward p
                 (hreplicate fn
                    (T.uap1 T.mkNoSrcPos p
                       (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                       (T.conInteger T.mkNoSrcPos p (0)))
                    p))
        hf fv3070v11v3070v11n v3070v13v3070v17n p
          = T.ucguard
              (T.uap2 T.mkNoSrcPos p
                 ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                 fv3070v11v3070v11n
                 (T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                    (T.conInteger T.mkNoSrcPos p (0))))
              (h3070v9v3070v50n v3070v13v3070v17n p)
              (y1f fv3070v11v3070v11n v3070v13v3070v17n p)
          where h3070v9v3070v50n (T.R (T.Cons fi _) _) p
                  = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                      (T.ucif p
                         (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fi
                            (gb2 T.mkNoSrcPos p))
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (1)))
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (0))))
                      (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
                h3070v9v3070v50n _ p
                  = y1f fv3070v11v3070v11n v3070v13v3070v17n p
        hf fv3070v11v3070v11n v3070v13v3070v17n p
          = y1f fv3070v11v3070v11n v3070v13v3070v17n p
        y1f fd (T.R (T.Cons fi fis) _) p
          = let gc pc p = T.uconstUse pc p sc
                gds pds p = T.uconstUse pds p sds
                sc
                  = T.uconstDef p c3072v17v3072v36c
                      (\ _ ->
                         case j3072v17v3072v36c of
                             (kc, fc, fds) -> fc)
                sds
                  = T.uconstDef p c3072v17v3072v36ds
                      (\ _ ->
                         case j3072v17v3072v36c of
                             (kc, fc, fds) -> fds)
                j3072v17v3072v36c
                  = case
                      T.uwrapForward p
                        (hf
                           (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fd
                              (T.uap1 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                 (T.conInteger T.mkNoSrcPos p (1))))
                           fis
                           p)
                      of
                        T.R (T.Tuple2 fc fds) kc -> (kc, fc, fds)
                        _ -> T.fatal p
                gi' pi' p = T.uconstUse pi' p si'
                si'
                  = T.uconstDef p c3073v17v3073v26i'
                      (\ p ->
                         T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                           (gc T.mkNoSrcPos p)
                           fi)
              in
              T.ucif p
                (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                   (gi' T.mkNoSrcPos p)
                   fbase)
                (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                   (T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (1)))
                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0)))
                      (gds T.mkNoSrcPos p)))
                (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                   (T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (0)))
                   (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                      (gi' T.mkNoSrcPos p)
                      (gds T.mkNoSrcPos p)))
        y1f _ _ p = T.fatal p
 
gfloatToDigits ::
                 (RealFloat a) =>
                 T.RefSrcPos ->
                   T.RefExp ->
                     T.R
                       (T.Fun Integer (T.Fun a (T.Tuple2 (T.List Int) Int)))
 
hfloatToDigits ::
                 (RealFloat a) =>
                 T.R Integer ->
                   T.R a -> T.RefExp -> T.R (T.Tuple2 (T.List Int) Int)
gfloatToDigits pfloatToDigits p
  = T.ufun2 afloatToDigits pfloatToDigits p
      hfloatToDigits
hfloatToDigits z1floatToDigits@_ fv3091v17v3091v17n p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
         fv3091v17v3091v17n
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (h3091v1v3091v27n p)
      (y1floatToDigits z1floatToDigits fv3091v17v3091v17n
         p)
  where h3091v1v3091v27n p
          = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
              (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
              (T.uap1 T.mkNoSrcPos p
                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                 (T.conInteger T.mkNoSrcPos p (0)))
        h3091v1v3091v27n p
          = y1floatToDigits z1floatToDigits fv3091v17v3091v17n
              p
hfloatToDigits z1floatToDigits fv3091v17v3091v17n p
  = y1floatToDigits z1floatToDigits fv3091v17v3091v17n
      p
y1floatToDigits fbase fx p
  = let gf0 pf0 p = T.uconstUse pf0 p sf0
        ge0 pe0 p = T.uconstUse pe0 p se0
        sf0
          = T.uconstDef p c3093v9v3093v32f0
              (\ _ ->
                 case j3093v9v3093v32f0 of
                     (kf0, ff0, fe0) -> ff0)
        se0
          = T.uconstDef p c3093v9v3093v32e0
              (\ _ ->
                 case j3093v9v3093v32f0 of
                     (kf0, ff0, fe0) -> fe0)
        j3093v9v3093v32f0
          = case
              T.uap1 T.mkNoSrcPos p (gdecodeFloat T.mkNoSrcPos p)
                fx
              of
                T.R (T.Tuple2 ff0 fe0) kf0 -> (kf0, ff0, fe0)
                _ -> T.fatal p
        gminExp0 pminExp0 p = T.uconstUse pminExp0 p sminExp0
        sminExp0
          = T.uconstDef p c3094v9v3094v35minExp0
              (\ _ ->
                 case j3094v9v3094v35minExp0 of
                     (kminExp0, fminExp0) -> fminExp0)
        j3094v9v3094v35minExp0
          = case
              T.uap1 T.mkNoSrcPos p (gfloatRange T.mkNoSrcPos p) fx
              of
                T.R (T.Tuple2 fminExp0 _) kminExp0 -> (kminExp0,
                                                       fminExp0)
                _ -> T.fatal p
        gp pp p = T.uconstUse pp p sp
        sp
          = T.uconstDef p c3095v9v3095v25p
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (gfloatDigits T.mkNoSrcPos p)
                   fx)
        gb pb p = T.uconstUse pb p sb
        sb
          = T.uconstDef p c3096v9v3096v24b
              (\ p ->
                 T.uap1 T.mkNoSrcPos p (gfloatRadix T.mkNoSrcPos p)
                   fx)
        gminExp pminExp p = T.uconstUse pminExp p sminExp
        sminExp
          = T.uconstDef p c3097v9v3097v28minExp
              (\ p ->
                 T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                   (gminExp0 T.mkNoSrcPos p)
                   (gp T.mkNoSrcPos p))
         
        gf :: T.RefSrcPos -> T.RefExp -> T.R Integer
         
        sf :: T.R Integer
         
        ge :: T.RefSrcPos -> T.RefExp -> T.R Int
         
        se :: T.R Int
        gf pf p = T.uconstUse pf p sf
        ge pe p = T.uconstUse pe p se
        sf
          = T.uconstDef p c3103v9v3104v71f
              (\ _ ->
                 case j3103v9v3104v71f of
                     (kf, ff, fe) -> ff)
        se
          = T.uconstDef p c3103v9v3104v71e
              (\ _ ->
                 case j3103v9v3104v71f of
                     (kf, ff, fe) -> fe)
        j3103v9v3104v71f
          = case
              let gn pn p = T.uconstUse pn p sn
                  sn
                    = T.uconstDef p c3103v22v3103v36n
                        (\ p ->
                           T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                             (gminExp T.mkNoSrcPos p)
                             (ge0 T.mkNoSrcPos p))
                in
                T.ucif p
                  (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p)
                     (gn T.mkNoSrcPos p)
                     (T.uap1 T.mkNoSrcPos p
                        (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                        (T.conInteger T.mkNoSrcPos p (0))))
                  (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                     (T.uap2 T.mkNoSrcPos p (gdiv T.mkNoSrcPos p)
                        (gf0 T.mkNoSrcPos p)
                        (T.uwrapForward p
                           ((*^) (gb T.mkNoSrcPos p) (gn T.mkNoSrcPos p) p)))
                     (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                        (ge0 T.mkNoSrcPos p)
                        (gn T.mkNoSrcPos p)))
                  (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                     (gf0 T.mkNoSrcPos p)
                     (ge0 T.mkNoSrcPos p))
              of
                T.R (T.Tuple2 ff fe) kf -> (kf, ff, fe)
                _ -> T.fatal p
        gr pr p = T.uconstUse pr p sr
        gs ps p = T.uconstUse ps p ss
        gmUp pmUp p = T.uconstUse pmUp p smUp
        gmDn pmDn p = T.uconstUse pmDn p smDn
        sr
          = T.uconstDef p c3106v9v3117v40r
              (\ _ ->
                 case j3106v9v3117v40r of
                     (kr, fr, fs, fmUp, fmDn) -> fr)
        ss
          = T.uconstDef p c3106v9v3117v40s
              (\ _ ->
                 case j3106v9v3117v40r of
                     (kr, fr, fs, fmUp, fmDn) -> fs)
        smUp
          = T.uconstDef p c3106v9v3117v40mUp
              (\ _ ->
                 case j3106v9v3117v40r of
                     (kr, fr, fs, fmUp, fmDn) -> fmUp)
        smDn
          = T.uconstDef p c3106v9v3117v40mDn
              (\ _ ->
                 case j3106v9v3117v40r of
                     (kr, fr, fs, fmUp, fmDn) -> fmDn)
        j3106v9v3117v40r
          = case
              T.ucif p
                (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p)
                   (ge T.mkNoSrcPos p)
                   (T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                      (T.conInteger T.mkNoSrcPos p (0))))
                (let gbe pbe p = T.uconstUse pbe p sbe
                     sbe
                       = T.uconstDef p c3108v20v3108v27be
                           (\ p ->
                              T.uwrapForward p
                                ((*^) (gb T.mkNoSrcPos p) (ge T.mkNoSrcPos p)
                                   p))
                   in
                   T.ucif p
                     (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                        (gf T.mkNoSrcPos p)
                        (T.uwrapForward p
                           ((*^) (gb T.mkNoSrcPos p)
                              (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                                 (gp T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                       p)
                                    (T.conInteger T.mkNoSrcPos p (1))))
                              p)))
                     (T.con4 T.mkNoSrcPos p T.Tuple4 T.aTuple4
                        (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                           (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                              (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                 (gf T.mkNoSrcPos p)
                                 (gbe T.mkNoSrcPos p))
                              (gb T.mkNoSrcPos p))
                           (T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (2))))
                        (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                           (T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (2)))
                           (gb T.mkNoSrcPos p))
                        (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                           (gbe T.mkNoSrcPos p)
                           (gb T.mkNoSrcPos p))
                        (gb T.mkNoSrcPos p))
                     (T.con4 T.mkNoSrcPos p T.Tuple4 T.aTuple4
                        (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                           (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                              (gf T.mkNoSrcPos p)
                              (gbe T.mkNoSrcPos p))
                           (T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                              (T.conInteger T.mkNoSrcPos p (2))))
                        (T.uap1 T.mkNoSrcPos p
                           (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                           (T.conInteger T.mkNoSrcPos p (2)))
                        (gbe T.mkNoSrcPos p)
                        (gbe T.mkNoSrcPos p)))
                (T.ucif p
                   (T.uwrapForward p
                      ((*&&)
                         (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p)
                            (ge T.mkNoSrcPos p)
                            (gminExp T.mkNoSrcPos p))
                         (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                            (gf T.mkNoSrcPos p)
                            (T.uwrapForward p
                               ((*^) (gb T.mkNoSrcPos p)
                                  (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
                                     (gp T.mkNoSrcPos p)
                                     (T.uap1 T.mkNoSrcPos p
                                        (Hat.PreludeBasic.gfromInteger
                                           T.mkNoSrcPos
                                           p)
                                        (T.conInteger T.mkNoSrcPos p (1))))
                                  p)))
                         p))
                   (T.con4 T.mkNoSrcPos p T.Tuple4 T.aTuple4
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                            (gf T.mkNoSrcPos p)
                            (gb T.mkNoSrcPos p))
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (2))))
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                         (T.uwrapForward p
                            ((*^) (gb T.mkNoSrcPos p)
                               (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                     (ge T.mkNoSrcPos p))
                                  (T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                        p)
                                     (T.conInteger T.mkNoSrcPos p (1))))
                               p))
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (2))))
                      (gb T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1))))
                   (T.con4 T.mkNoSrcPos p T.Tuple4 T.aTuple4
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                         (gf T.mkNoSrcPos p)
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (2))))
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                         (T.uwrapForward p
                            ((*^) (gb T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                  (ge T.mkNoSrcPos p))
                               p))
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                            (T.conInteger T.mkNoSrcPos p (2))))
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))))
              of
                T.R (T.Tuple4 fr fs fmUp fmDn) kr -> (kr, fr, fs,
                                                      fmUp, fmDn)
                _ -> T.fatal p
        gk pk p = T.uconstUse pk p sk
        sk
          = T.uconstDef p c3118v9v3137v24k
              (\ p ->
                 let gk0 pk0 p = T.uconstUse pk0 p sk0
                     sk0
                       = T.uconstDef p c3119v17v3130v55k0
                           (\ p ->
                              T.ucif p
                                (T.uwrapForward p
                                   ((*&&)
                                      (T.uap2 T.mkNoSrcPos p
                                         ((!==) T.mkNoSrcPos p)
                                         (gb T.mkNoSrcPos p)
                                         (T.uap1 T.mkNoSrcPos p
                                            (Hat.PreludeBasic.gfromInteger
                                               T.mkNoSrcPos
                                               p)
                                            (T.conInteger T.mkNoSrcPos p (2))))
                                      (T.uap2 T.mkNoSrcPos p
                                         ((!==) T.mkNoSrcPos p)
                                         fbase
                                         (T.uap1 T.mkNoSrcPos p
                                            (Hat.PreludeBasic.gfromInteger
                                               T.mkNoSrcPos
                                               p)
                                            (T.conInteger T.mkNoSrcPos p (10))))
                                      p))
                                (T.uap2 T.mkNoSrcPos p (gdiv T.mkNoSrcPos p)
                                   (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                      (T.uap2 T.mkNoSrcPos p
                                         ((!+) T.mkNoSrcPos p)
                                         (T.uap2 T.mkNoSrcPos p
                                            ((!-) T.mkNoSrcPos p)
                                            (gp T.mkNoSrcPos p)
                                            (T.uap1 T.mkNoSrcPos p
                                               (Hat.PreludeBasic.gfromInteger
                                                  T.mkNoSrcPos
                                                  p)
                                               (T.conInteger T.mkNoSrcPos p
                                                  (1))))
                                         (ge0 T.mkNoSrcPos p))
                                      (T.uap1 T.mkNoSrcPos p
                                         (Hat.PreludeBasic.gfromInteger
                                            T.mkNoSrcPos
                                            p)
                                         (T.conInteger T.mkNoSrcPos p (3))))
                                   (T.uap1 T.mkNoSrcPos p
                                      (Hat.PreludeBasic.gfromInteger
                                         T.mkNoSrcPos
                                         p)
                                      (T.conInteger T.mkNoSrcPos p (10))))
                                (T.uap1 T.mkNoSrcPos p (gceiling T.mkNoSrcPos p)
                                   (T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
                                      (T.uap2 T.mkNoSrcPos p
                                         ((!+) T.mkNoSrcPos p)
                                         (T.uap1 T.mkNoSrcPos p
                                            (glog T.mkNoSrcPos p)
                                            (T.uap1 T.mkNoSrcPos p
                                               (gfromInteger T.mkNoSrcPos p)
                                               (T.uap2 T.mkNoSrcPos p
                                                  ((!+) T.mkNoSrcPos p)
                                                  (gf T.mkNoSrcPos p)
                                                  (T.uap1 T.mkNoSrcPos p
                                                     (Hat.PreludeBasic.gfromInteger
                                                        T.mkNoSrcPos
                                                        p)
                                                     (T.conInteger T.mkNoSrcPos
                                                        p
                                                        (1))))))
                                         (T.uap2 T.mkNoSrcPos p
                                            ((!*) T.mkNoSrcPos p)
                                            (T.uap1 T.mkNoSrcPos p
                                               (gfromIntegral T.mkNoSrcPos p)
                                               (ge T.mkNoSrcPos p))
                                            (T.uap1 T.mkNoSrcPos p
                                               (glog T.mkNoSrcPos p)
                                               (T.uap1 T.mkNoSrcPos p
                                                  (gfromInteger T.mkNoSrcPos p)
                                                  (gb T.mkNoSrcPos p)))))
                                      (T.uap1 T.mkNoSrcPos p
                                         (glog T.mkNoSrcPos p)
                                         (T.uap1 T.mkNoSrcPos p
                                            (gfromInteger T.mkNoSrcPos p)
                                            fbase))
                                      :: T.R Double)))
                     gfixup pfixup p
                       = T.ufun1 c3131v17v3136v75fixup pfixup p hfixup
                     afixup = c3131v17v3136v75fixup
                     hfixup fn p
                       = T.ucif p
                           (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p) fn
                              (T.uap1 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                 (T.conInteger T.mkNoSrcPos p (0))))
                           (T.ucif p
                              (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p)
                                 (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                    (gr T.mkNoSrcPos p)
                                    (gmUp T.mkNoSrcPos p))
                                 (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                    (T.uwrapForward p (hexpt fbase fn p))
                                    (gs T.mkNoSrcPos p)))
                              (T.projection T.mkNoSrcPos p fn)
                              (T.uwrapForward p
                                 (hfixup
                                    (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                       fn
                                       (T.uap1 T.mkNoSrcPos p
                                          (Hat.PreludeBasic.gfromInteger
                                             T.mkNoSrcPos
                                             p)
                                          (T.conInteger T.mkNoSrcPos p (1))))
                                    p)))
                           (T.ucif p
                              (T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p)
                                 (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                    (T.uwrapForward p
                                       (hexpt fbase
                                          (T.uap1 T.mkNoSrcPos p
                                             (Hat.PreludeBasic.gnegate
                                                T.mkNoSrcPos
                                                p)
                                             fn)
                                          p))
                                    (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                       (gr T.mkNoSrcPos p)
                                       (gmUp T.mkNoSrcPos p)))
                                 (gs T.mkNoSrcPos p))
                              (T.projection T.mkNoSrcPos p fn)
                              (T.uwrapForward p
                                 (hfixup
                                    (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                       fn
                                       (T.uap1 T.mkNoSrcPos p
                                          (Hat.PreludeBasic.gfromInteger
                                             T.mkNoSrcPos
                                             p)
                                          (T.conInteger T.mkNoSrcPos p (1))))
                                    p)))
                   in T.uwrapForward p (hfixup (gk0 T.mkNoSrcPos p) p))
        ggen pgen p = T.ufun5 c3139v9v3148v0gen pgen p hgen
        agen = c3139v9v3148v0gen
        hgen fds frn fsN fmUpN fmDnN p
          = let gdn pdn p = T.uconstUse pdn p sdn
                grn' prn' p = T.uconstUse prn' p srn'
                sdn
                  = T.uconstDef p c3140v17v3140v51dn
                      (\ _ ->
                         case j3140v17v3140v51dn of
                             (kdn, fdn, frn') -> fdn)
                srn'
                  = T.uconstDef p c3140v17v3140v51rn'
                      (\ _ ->
                         case j3140v17v3140v51dn of
                             (kdn, fdn, frn') -> frn')
                j3140v17v3140v51dn
                  = case
                      T.uap2 T.mkNoSrcPos p (gdivMod T.mkNoSrcPos p)
                        (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) frn
                           fbase)
                        fsN
                      of
                        T.R (T.Tuple2 fdn frn') kdn -> (kdn, fdn, frn')
                        _ -> T.fatal p
                gmUpN' pmUpN' p = T.uconstUse pmUpN' p smUpN'
                smUpN'
                  = T.uconstDef p c3141v17v3141v35mUpN'
                      (\ p ->
                         T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fmUpN
                           fbase)
                gmDnN' pmDnN' p = T.uconstUse pmDnN' p smDnN'
                smDnN'
                  = T.uconstDef p c3142v17v3142v35mDnN'
                      (\ p ->
                         T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fmDnN
                           fbase)
              in
              T.uccase T.mkNoSrcPos p
                (let v3143v17v3148v0v1
                       (T.R (T.Tuple2 (T.R True _) (T.R False _)) _) p
                       = T.con2 T.mkNoSrcPos p T.Cons T.aCons
                           (gdn T.mkNoSrcPos p)
                           fds
                     v3143v17v3148v0v1
                       (T.R (T.Tuple2 (T.R False _) (T.R True _)) _) p
                       = T.con2 T.mkNoSrcPos p T.Cons T.aCons
                           (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                              (gdn T.mkNoSrcPos p)
                              (T.uap1 T.mkNoSrcPos p
                                 (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                 (T.conInteger T.mkNoSrcPos p (1))))
                           fds
                     v3143v17v3148v0v1
                       (T.R (T.Tuple2 (T.R True _) (T.R True _)) _) p
                       = T.ucif p
                           (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                              (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                 (grn' T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                       p)
                                    (T.conInteger T.mkNoSrcPos p (2))))
                              fsN)
                           (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                              (gdn T.mkNoSrcPos p)
                              fds)
                           (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                              (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                                 (gdn T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p
                                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
                                       p)
                                    (T.conInteger T.mkNoSrcPos p (1))))
                              fds)
                     v3143v17v3148v0v1
                       (T.R (T.Tuple2 (T.R False _) (T.R False _)) _) p
                       = T.uwrapForward p
                           (hgen
                              (T.con2 T.mkNoSrcPos p T.Cons T.aCons
                                 (gdn T.mkNoSrcPos p)
                                 fds)
                              (grn' T.mkNoSrcPos p)
                              fsN
                              (gmUpN' T.mkNoSrcPos p)
                              (gmDnN' T.mkNoSrcPos p)
                              p)
                     v3143v17v3148v0v1 _ p = T.fatal p
                   in v3143v17v3148v0v1)
                (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                   (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                      (grn' T.mkNoSrcPos p)
                      (gmDnN' T.mkNoSrcPos p))
                   (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                         (grn' T.mkNoSrcPos p)
                         (gmUpN' T.mkNoSrcPos p))
                      fsN))
        grds prds p = T.uconstUse prds p srds
        srds
          = T.uconstDef p c3148v9v3153v59rds
              (\ p ->
                 T.ucif p
                   (T.uap2 T.mkNoSrcPos p ((!>=) T.mkNoSrcPos p)
                      (gk T.mkNoSrcPos p)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (0))))
                   (T.uwrapForward p
                      (hgen (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
                         (gr T.mkNoSrcPos p)
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                            (gs T.mkNoSrcPos p)
                            (T.uwrapForward p
                               (hexpt fbase (gk T.mkNoSrcPos p) p)))
                         (gmUp T.mkNoSrcPos p)
                         (gmDn T.mkNoSrcPos p)
                         p))
                   (let gbk pbk p = T.uconstUse pbk p sbk
                        sbk
                          = T.uconstDef p c3152v21v3152v39bk
                              (\ p ->
                                 T.uwrapForward p
                                   (hexpt fbase
                                      (T.uap1 T.mkNoSrcPos p
                                         (Hat.PreludeBasic.gnegate T.mkNoSrcPos
                                            p)
                                         (gk T.mkNoSrcPos p))
                                      p))
                      in
                      T.uwrapForward p
                        (hgen (T.con0 T.mkNoSrcPos p T.Nil T.aNil)
                           (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                              (gr T.mkNoSrcPos p)
                              (gbk T.mkNoSrcPos p))
                           (gs T.mkNoSrcPos p)
                           (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                              (gmUp T.mkNoSrcPos p)
                              (gbk T.mkNoSrcPos p))
                           (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                              (gmDn T.mkNoSrcPos p)
                              (gbk T.mkNoSrcPos p))
                           p)))
      in
      T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
        (T.uwrapForward p
           (hmap (gfromIntegral T.mkNoSrcPos p)
              (T.uap1 T.mkNoSrcPos p (greverse T.mkNoSrcPos p)
                 (grds T.mkNoSrcPos p))
              p))
        (gk T.mkNoSrcPos p)
 
greadFloat ::
             (RealFloat a) =>
             T.RefSrcPos -> T.RefExp -> T.R (ReadS a)
 
hreadFloat ::
             (RealFloat a) =>
             T.R (ReadS___1 a) -> T.RefExp -> T.R (ReadS___2 a)
greadFloat preadFloat p
  = T.ufun1 areadFloat preadFloat p hreadFloat
hreadFloat fr p
  = T.uwrapForward p
      ((*++)
         (T.uap2 T.mkNoSrcPos p
            ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
            (T.uwrapForward p (hreadFix fr p))
            (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
               (\ (T.R (T.Tuple3 fn fd fs) _) p ->
                  T.uap2 T.mkNoSrcPos p
                    ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                    (T.uwrapForward p (hreadExp fs p))
                    (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                       (\ (T.R (T.Tuple2 fk ft) _) p ->
                          T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                            (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                               (T.uap1 T.mkNoSrcPos p
                                  (gfromRational T.mkNoSrcPos p)
                                  (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                                     (T.uwrapForward p
                                        ((*%) fn
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p (1)))
                                           p))
                                     (T.uwrapForward p
                                        ((*^^)
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p
                                                 (10)))
                                           (T.uap2 T.mkNoSrcPos p
                                              ((!-) T.mkNoSrcPos p)
                                              fk
                                              fd)
                                           p))))
                               ft))))))
         (T.uwrapForward p
            ((*++)
               (T.uap2 T.mkNoSrcPos p
                  ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                  (T.uwrapForward p (hlex fr p))
                  (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                     (\ fv3164v31v3164v47v1 p ->
                        T.uccase T.mkNoSrcPos p
                          (let v3164v31v3164v47v1
                                 (T.R
                                    (T.Tuple2
                                       (T.R
                                          (T.Cons (T.R 'N' _)
                                             (T.R
                                                (T.Cons (T.R 'a' _)
                                                   (T.R
                                                      (T.Cons (T.R 'N' _)
                                                         (T.R T.Nil _))
                                                      _))
                                                _))
                                          _)
                                       ft)
                                    _)
                                 p
                                 = T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                                     (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!/) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p (0)))
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p
                                                 (0))))
                                        ft)
                               v3164v31v3164v47v1 _ p
                                 = T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p
                                        "pattern-match failure in do-expression")
                             in v3164v31v3164v47v1)
                          fv3164v31v3164v47v1)))
               (T.uap2 T.mkNoSrcPos p
                  ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                  (T.uwrapForward p (hlex fr p))
                  (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                     (\ fv3165v31v3165v47v1 p ->
                        T.uccase T.mkNoSrcPos p
                          (let v3165v31v3165v47v1
                                 (T.R
                                    (T.Tuple2
                                       (T.R
                                          (T.Cons (T.R 'I' _)
                                             (T.R
                                                (T.Cons (T.R 'n' _)
                                                   (T.R
                                                      (T.Cons (T.R 'f' _)
                                                         (T.R
                                                            (T.Cons (T.R 'i' _)
                                                               (T.R
                                                                  (T.Cons
                                                                     (T.R 'n' _)
                                                                     (T.R
                                                                        (T.Cons
                                                                           (T.R
                                                                              'i'
                                                                              _)
                                                                           (T.R
                                                                              (T.Cons
                                                                                 (T.R
                                                                                    't'
                                                                                    _)
                                                                                 (T.R
                                                                                    (T.Cons
                                                                                       (T.R
                                                                                          'y'
                                                                                          _)
                                                                                       (T.R
                                                                                          T.Nil
                                                                                          _))
                                                                                    _))
                                                                              _))
                                                                        _))
                                                                  _))
                                                            _))
                                                      _))
                                                _))
                                          _)
                                       ft)
                                    _)
                                 p
                                 = T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                                     (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                                        (T.uap2 T.mkNoSrcPos p
                                           ((!/) T.mkNoSrcPos p)
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p (1)))
                                           (T.uap1 T.mkNoSrcPos p
                                              (Hat.PreludeBasic.gfromInteger
                                                 T.mkNoSrcPos
                                                 p)
                                              (T.conInteger T.mkNoSrcPos p
                                                 (0))))
                                        ft)
                               v3165v31v3165v47v1 _ p
                                 = T.uap1 T.mkNoSrcPos p
                                     (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                                     (T.fromLitString T.mkNoSrcPos p
                                        "pattern-match failure in do-expression")
                             in v3165v31v3165v47v1)
                          fv3165v31v3165v47v1)))
               p))
         p)
  where greadFix preadFix p
          = T.ufun1 c3167v18v3169v53readFix preadFix p hreadFix
        areadFix = c3167v18v3169v53readFix
        hreadFix fr p
          = T.uap2 T.mkNoSrcPos p
              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
              (T.uap1 T.mkNoSrcPos p (glexDigits T.mkNoSrcPos p)
                 fr)
              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                 (\ (T.R (T.Tuple2 fds fd) _) p ->
                    T.uap2 T.mkNoSrcPos p
                      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                      (T.uwrapForward p (hlexFrac fd p))
                      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                         (\ (T.R (T.Tuple2 fds' ft) _) p ->
                            T.uap1 T.mkNoSrcPos p
                              (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                              (T.con3 T.mkNoSrcPos p T.Tuple3 T.aTuple3
                                 (T.uwrapForward p
                                    (hread (T.uwrapForward p ((*++) fds fds' p))
                                       p))
                                 (T.uwrapForward p (hlength fds' p))
                                 ft)))))
        glexFrac plexFrac p
          = T.ufun1 c3171v18v3172v44lexFrac plexFrac p hlexFrac
        alexFrac = c3171v18v3172v44lexFrac
        hlexFrac (T.R (T.Cons (T.R '.' _) fds) _) p
          = T.uap1 T.mkNoSrcPos p (glexDigits T.mkNoSrcPos p)
              fds
        hlexFrac fs p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.fromLitString T.mkNoSrcPos p "")
                 fs]
        greadExp preadExp p
          = T.ufun1 c3174v18v3175v56readExp preadExp p hreadExp
        areadExp = c3174v18v3175v56readExp
        hreadExp z1readExp@(T.R (T.Cons fe fs) _) p
          = T.ucguard
              (T.uap1 T.mkNoSrcPos p
                 (T.uwrapForward p (helem fe p))
                 (T.fromLitString T.mkNoSrcPos p "eE"))
              (T.uwrapForward p (hreadExp' fs p))
              (y1readExp z1readExp p)
        hreadExp z1readExp p = y1readExp z1readExp p
        y1readExp fs p
          = T.fromExpList T.mkNoSrcPos p
              [T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                 (T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                    (T.conInteger T.mkNoSrcPos p (0)))
                 fs]
        greadExp' preadExp' p
          = T.ufun1 c3177v18v3179v45readExp' preadExp' p
              hreadExp'
        areadExp' = c3177v18v3179v45readExp'
        hreadExp' (T.R (T.Cons (T.R '-' _) fs) _) p
          = T.uap2 T.mkNoSrcPos p
              ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
              (T.uap1 T.mkNoSrcPos p (greadDec T.mkNoSrcPos p) fs)
              (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                 (\ (T.R (T.Tuple2 fk ft) _) p ->
                    T.uap1 T.mkNoSrcPos p
                      (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                      (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                         (T.uap1 T.mkNoSrcPos p
                            (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                            fk)
                         ft)))
        hreadExp' (T.R (T.Cons (T.R '+' _) fs) _) p
          = T.uap1 T.mkNoSrcPos p (greadDec T.mkNoSrcPos p) fs
        hreadExp' fs p
          = T.uap1 T.mkNoSrcPos p (greadDec T.mkNoSrcPos p) fs
 
glexDigits ::
           T.RefSrcPos -> T.RefExp -> T.R (ReadS String)
 
slexDigits :: T.R (ReadS String)
glexDigits plexDigits p
  = T.uconstUse plexDigits p slexDigits
slexDigits
  = T.uconstDef p alexDigits
      (\ p ->
         T.uap1 T.mkNoSrcPos p (gnonnull T.mkNoSrcPos p)
           (gisDigit T.mkNoSrcPos p))
 
gnonnull ::
         T.RefSrcPos ->
           T.RefExp ->
             T.R (T.Fun (T.Fun Char Bool) (ReadS String))
 
hnonnull ::
         T.R (T.Fun Char Bool) ->
           T.R (ReadS___1 String) ->
             T.RefExp -> T.R (ReadS___2 String)
gnonnull pnonnull p
  = T.ufun2 anonnull pnonnull p hnonnull
hnonnull fp fs p
  = T.uap2 T.mkNoSrcPos p
      ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
      (T.fromExpList T.mkNoSrcPos p
         [T.uwrapForward p (hspan fp fs p)])
      (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
         (\ fv3185v31v3185v45v1 p ->
            T.uccase T.mkNoSrcPos p
              (let v3185v31v3185v45v1
                     (T.R (T.Tuple2 fcs@(T.R (T.Cons _ _) _) ft) _) p
                     = T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.greturn T.mkNoSrcPos p)
                         (T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2 fcs ft)
                   v3185v31v3185v45v1 _ p
                     = T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfail T.mkNoSrcPos p)
                         (T.fromLitString T.mkNoSrcPos p
                            "pattern-match failure in do-expression")
                 in v3185v31v3185v45v1)
              fv3185v31v3185v45v1))
gprec pprec p = T.uconstUse pprec p sprec
sprec
  = T.uconstDef p aprec
      (\ p ->
         T.uap1 T.mkNoSrcPos p
           (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
           (T.conInteger T.mkNoSrcPos p (7))
           :: T.R Int)
 
data Ratio a = !(T.R a) :% !(T.R a)
 
instance T.WrapVal (Ratio a) where
        wrapVal pwrapVal
          kwrapVal@((:%) (T.R _ z1wrapVal) (T.R _ z2wrapVal)) p
          = T.R kwrapVal
              (T.mkValueApp2 p pwrapVal (+:%) z1wrapVal z2wrapVal)
 
instance (Eq a) => Eq (Ratio a) where
        (%==) !== p
          = T.ufun2 (+%#>*=%^=%#>*=%@==) (%==) p (*==)
          where (T.R ((:%) fy1 fy2) _ *== T.R ((:%) fy3 fy4) _)
                  p
                  = T.uwrapForward p
                      ((Hat.PreludeBasic.*&&)
                         (T.uap2 T.mkNoSrcPos p
                            ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                            fy1
                            fy3)
                         (T.uwrapForward p
                            ((Hat.PreludeBasic.*&&)
                               (T.uap2 T.mkNoSrcPos p
                                  ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
                                  fy2
                                  fy4)
                               (T.con0 T.mkNoSrcPos p
                                  Hat.PreludeBuiltinTypes.True
                                  Hat.PreludeBuiltinTypes.aTrue)
                               p))
                         p)
                (_ *== _) p
                  = T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.False
                      Hat.PreludeBuiltinTypes.aFalse
 
type Rational = Ratio Integer
 
type Rational___1 = Ratio Integer
 
(!%) ::
       (Integral a) =>
       T.RefSrcPos ->
         T.RefExp -> T.R (T.Fun a (T.Fun a (Ratio a)))
 
(*%) ::
       (Integral a) =>
       T.R a -> T.R a -> T.RefExp -> T.R (Ratio a)
 
gnumerator, gdenominator ::
              (Integral a) =>
              T.RefSrcPos -> T.RefExp -> T.R (T.Fun (Ratio a) a)
 
hnumerator ::
             (Integral a) => T.R (Ratio a) -> T.RefExp -> T.R a
 
hdenominator ::
               (Integral a) => T.R (Ratio a) -> T.RefExp -> T.R a
 
gapproxRational ::
                  (RealFrac a) =>
                  T.RefSrcPos ->
                    T.RefExp -> T.R (T.Fun a (T.Fun a Rational))
 
happroxRational ::
                  (RealFrac a) =>
                  T.R a -> T.R a -> T.RefExp -> T.R Rational
greduce preduce p = T.ufun2 areduce preduce p hreduce
hreduce z1reduce@_ fv3211v10v3211v10n p
  = T.ucguard
      (T.uap2 T.mkNoSrcPos p
         ((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
         fv3211v10v3211v10n
         (T.uap1 T.mkNoSrcPos p
            (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
            (T.conInteger T.mkNoSrcPos p (0))))
      (h3211v1v3211v61n p)
      (y1reduce z1reduce fv3211v10v3211v10n p)
  where h3211v1v3211v61n p
          = T.uwrapForward p
              (herror
                 (T.fromLitString T.mkNoSrcPos p
                    "Ratio.% : zero denominator")
                 p)
        h3211v1v3211v61n p
          = y1reduce z1reduce fv3211v10v3211v10n p
hreduce z1reduce fv3211v10v3211v10n p
  = y1reduce z1reduce fv3211v10v3211v10n p
y1reduce fx fy p
  = T.con2 T.mkNoSrcPos p (:%) (+:%)
      (T.uap2 T.mkNoSrcPos p (gquot T.mkNoSrcPos p) fx
         (gd T.mkNoSrcPos p))
      (T.uap2 T.mkNoSrcPos p (gquot T.mkNoSrcPos p) fy
         (gd T.mkNoSrcPos p))
  where gd pd p = T.uconstUse pd p sd
        sd
          = T.uconstDef p c3213v34v3213v44d
              (\ p -> T.uwrapForward p (hgcd fx fy p))
(%%) !% p = T.ufun2 (+%) (%%) p (*%)
(fx *% fy) p
  = T.uwrapForward p
      (hreduce
         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
            (T.uap1 T.mkNoSrcPos p (gsignum T.mkNoSrcPos p) fy))
         (T.uap1 T.mkNoSrcPos p (gabs T.mkNoSrcPos p) fy)
         p)
gnumerator pnumerator p
  = T.ufun1 anumerator pnumerator p hnumerator
hnumerator (T.R ((:%) fx _) _) p
  = T.projection T.mkNoSrcPos p fx
hnumerator _ p = T.fatal p
gdenominator pdenominator p
  = T.ufun1 adenominator pdenominator p hdenominator
hdenominator (T.R ((:%) _ fy) _) p
  = T.projection T.mkNoSrcPos p fy
hdenominator _ p = T.fatal p
 
instance (Integral a) => Ord (Ratio a) where
        (%<=) !<= p
          = T.ufun2 (+%$$%=*=%$$%=&%<=) (%<=) p (*<=)
          where ((T.R ((:%) fx fy) _) *<=
                   (T.R ((:%) fx' fy') _))
                  p
                  = T.uap2 T.mkNoSrcPos p ((!<=) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fy')
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx' fy)
                (_ *<= _) p = T.fatal p
        (%<) !< p = T.ufun2 (+%$$&=*=%$$&=&%<) (%<) p (*<)
          where ((T.R ((:%) fx fy) _) *<
                   (T.R ((:%) fx' fy') _))
                  p
                  = T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p)
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fy')
                      (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx' fy)
                (_ *< _) p = T.fatal p
 
instance (Integral a) => Num (Ratio a) where
        (%+) !+ p = T.ufun2 (+%$$^=*=%$$^=*&+) (%+) p (*+)
          where ((T.R ((:%) fx fy) _) *+
                   (T.R ((:%) fx' fy') _))
                  p
                  = T.uwrapForward p
                      (hreduce
                         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                            (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fy')
                            (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx'
                               fy))
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fy fy')
                         p)
                (_ *+ _) p = T.fatal p
        (%*) !* p = T.ufun2 (+%$$@=*=%$$@=*#*) (%*) p (**)
          where ((T.R ((:%) fx fy) _) **
                   (T.R ((:%) fx' fy') _))
                  p
                  = T.uwrapForward p
                      (hreduce
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fx')
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fy fy')
                         p)
                (_ ** _) p = T.fatal p
        gnegate pnegate p
          = T.ufun1 c3229v5v3229v36negate pnegate p hnegate
          where hnegate (T.R ((:%) fx fy) _) p
                  = T.con2 T.mkNoSrcPos p (:%) (+:%)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                         fx)
                      fy
                hnegate _ p = T.fatal p
        gabs pabs p = T.ufun1 c3230v5v3230v37abs pabs p habs
          where habs (T.R ((:%) fx fy) _) p
                  = T.con2 T.mkNoSrcPos p (:%) (+:%)
                      (T.uap1 T.mkNoSrcPos p (gabs T.mkNoSrcPos p) fx)
                      fy
                habs _ p = T.fatal p
        gsignum psignum p
          = T.ufun1 c3231v5v3231v40signum psignum p hsignum
          where hsignum (T.R ((:%) fx fy) _) p
                  = T.con2 T.mkNoSrcPos p (:%) (+:%)
                      (T.uap1 T.mkNoSrcPos p (gsignum T.mkNoSrcPos p) fx)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
                hsignum _ p = T.fatal p
        gfromInteger pfromInteger p
          = T.ufun1 c3232v5v3232v45fromInteger pfromInteger p
              hfromInteger
          where hfromInteger fx p
                  = T.con2 T.mkNoSrcPos p (:%) (+:%)
                      (T.uap1 T.mkNoSrcPos p (gfromInteger T.mkNoSrcPos p)
                         fx)
                      (T.uap1 T.mkNoSrcPos p
                         (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                         (T.conInteger T.mkNoSrcPos p (1)))
 
instance (Integral a) => Real (Ratio a) where
        gtoRational ptoRational p
          = T.ufun1 c3235v5v3235v53toRational ptoRational p
              htoRational
          where htoRational (T.R ((:%) fx fy) _) p
                  = T.con2 T.mkNoSrcPos p (:%) (+:%)
                      (T.uap1 T.mkNoSrcPos p (gtoInteger T.mkNoSrcPos p)
                         fx)
                      (T.uap1 T.mkNoSrcPos p (gtoInteger T.mkNoSrcPos p)
                         fy)
                htoRational _ p = T.fatal p
 
instance (Integral a) => Fractional (Ratio a) where
        (%/) !/ p = T.ufun2 (+%$%@=*=%$%@=&$/) (%/) p (*/)
          where ((T.R ((:%) fx fy) _) */
                   (T.R ((:%) fx' fy') _))
                  p
                  = T.uwrapForward p
                      ((*%)
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fy')
                         (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fy fx')
                         p)
                (_ */ _) p = T.fatal p
        grecip precip p
          = T.ufun1 c3239v5v3239v32recip precip p hrecip
          where hrecip (T.R ((:%) fx fy) _) p
                  = T.uwrapForward p ((*%) fy fx p)
                hrecip _ p = T.fatal p
        gfromRational pfromRational p
          = T.ufun1 c3240v5v3240v57fromRational pfromRational p
              hfromRational
          where hfromRational (T.R ((:%) fx fy) _) p
                  = T.con2 T.mkNoSrcPos p (:%) (+:%)
                      (T.uap1 T.mkNoSrcPos p (gfromInteger T.mkNoSrcPos p)
                         fx)
                      (T.uap1 T.mkNoSrcPos p (gfromInteger T.mkNoSrcPos p)
                         fy)
                hfromRational _ p = T.fatal p
 
instance (Integral a) => RealFrac (Ratio a) where
        gproperFraction pproperFraction p
          = T.ufun1 c3243v5v3244v33properFraction
              pproperFraction
              p
              hproperFraction
          where hproperFraction (T.R ((:%) fx fy) _) p
                  = T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
                      (T.uap1 T.mkNoSrcPos p (gfromIntegral T.mkNoSrcPos p)
                         (gq T.mkNoSrcPos p))
                      (T.con2 T.mkNoSrcPos p (:%) (+:%) (gr T.mkNoSrcPos p)
                         fy)
                  where gq pq p = T.uconstUse pq p sq
                        gr pr p = T.uconstUse pr p sr
                        sq
                          = T.uconstDef p c3244v35v3244v53q
                              (\ _ ->
                                 case j3244v35v3244v53q of
                                     (kq, fq, fr) -> fq)
                        sr
                          = T.uconstDef p c3244v35v3244v53r
                              (\ _ ->
                                 case j3244v35v3244v53q of
                                     (kq, fq, fr) -> fr)
                        j3244v35v3244v53q
                          = case
                              T.uap2 T.mkNoSrcPos p (gquotRem T.mkNoSrcPos p) fx
                                fy
                              of
                                T.R (T.Tuple2 fq fr) kq -> (kq, fq, fr)
                                _ -> T.fatal p
                hproperFraction _ p = T.fatal p
 
instance (Integral a) => Enum (Ratio a) where
        gtoEnum ptoEnum p = T.uconstUse ptoEnum p stoEnum
        stoEnum
          = T.uconstDef p c3247v5v3247v36toEnum
              (\ p -> gfromIntegral T.mkNoSrcPos p)
        gfromEnum pfromEnum p
          = T.uconstUse pfromEnum p sfromEnum
        sfromEnum
          = T.uconstDef p c3248v5v3248v46fromEnum
              (\ p ->
                 T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                   (gfromInteger T.mkNoSrcPos p)
                   (gtruncate T.mkNoSrcPos p))
        genumFrom penumFrom p
          = T.uconstUse penumFrom p senumFrom
        senumFrom
          = T.uconstDef p c3249v5v3249v39enumFrom
              (\ p -> gnumericEnumFrom T.mkNoSrcPos p)
        genumFromThen penumFromThen p
          = T.uconstUse penumFromThen p senumFromThen
        senumFromThen
          = T.uconstDef p c3250v5v3250v43enumFromThen
              (\ p -> gnumericEnumFromThen T.mkNoSrcPos p)
        genumFromTo penumFromTo p
          = T.uconstUse penumFromTo p senumFromTo
        senumFromTo
          = T.uconstDef p c3251v5v3251v41enumFromTo
              (\ p -> gnumericEnumFromTo T.mkNoSrcPos p)
        genumFromThenTo penumFromThenTo p
          = T.uconstUse penumFromThenTo p senumFromThenTo
        senumFromThenTo
          = T.uconstDef p c3252v5v3252v45enumFromThenTo
              (\ p -> gnumericEnumFromThenTo T.mkNoSrcPos p)
 
instance (Read a, Integral a) => Read (Ratio a) where
        greadsPrec preadsPrec p
          = T.ufun1 c3255v5v3258v69readsPrec preadsPrec p
              hreadsPrec
          where hreadsPrec fp p
                  = T.uwrapForward p
                      (hreadParen
                         (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fp
                            (gprec T.mkNoSrcPos p))
                         (T.ufun1 T.mkLambda T.mkNoSrcPos p
                            (\ fr p ->
                               T.uap2 T.mkNoSrcPos p
                                 ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos p)
                                 (T.uap1 T.mkNoSrcPos p (greads T.mkNoSrcPos p)
                                    fr)
                                 (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                    (\ (T.R (T.Tuple2 fx fs) _) p ->
                                       T.uap2 T.mkNoSrcPos p
                                         ((Hat.PreludeBasic.!>>=) T.mkNoSrcPos
                                            p)
                                         (T.uwrapForward p (hlex fs p))
                                         (T.ufun1 T.mkDoLambda T.mkNoSrcPos p
                                            (\ fv3257v49v3257v58v1 p ->
                                               T.uccase T.mkNoSrcPos p
                                                 (let v3257v49v3257v58v1
                                                        (T.R
                                                           (T.Tuple2
                                                              (T.R
                                                                 (T.Cons
                                                                    (T.R '%' _)
                                                                    (T.R T.Nil
                                                                       _))
                                                                 _)
                                                              ft)
                                                           _)
                                                        p
                                                        = T.uap2 T.mkNoSrcPos p
                                                            ((Hat.PreludeBasic.!>>=)
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.uap1 T.mkNoSrcPos
                                                               p
                                                               (greads
                                                                  T.mkNoSrcPos
                                                                  p)
                                                               ft)
                                                            (T.ufun1
                                                               T.mkDoLambda
                                                               T.mkNoSrcPos
                                                               p
                                                               (\ (T.R
                                                                     (T.Tuple2
                                                                        fy fu)
                                                                     _)
                                                                  p ->
                                                                  T.uap1
                                                                    T.mkNoSrcPos
                                                                    p
                                                                    (Hat.PreludeBasic.greturn
                                                                       T.mkNoSrcPos
                                                                       p)
                                                                    (T.con2
                                                                       T.mkNoSrcPos
                                                                       p
                                                                       T.Tuple2
                                                                       T.aTuple2
                                                                       (T.uwrapForward
                                                                          p
                                                                          ((*%)
                                                                             fx
                                                                             fy
                                                                             p))
                                                                       fu)))
                                                      v3257v49v3257v58v1 _ p
                                                        = T.uap1 T.mkNoSrcPos p
                                                            (Hat.PreludeBasic.gfail
                                                               T.mkNoSrcPos
                                                               p)
                                                            (T.fromLitString
                                                               T.mkNoSrcPos
                                                               p
                                                               "pattern-match failure in do-expression")
                                                    in v3257v49v3257v58v1)
                                                 fv3257v49v3257v58v1))))))
                         p)
 
instance (Integral a) => Show (Ratio a) where
        gshowsPrec pshowsPrec p
          = T.ufun2 c3261v5v3262v69showsPrec pshowsPrec p
              hshowsPrec
          where hshowsPrec fp (T.R ((:%) fx fy) _) p
                  = T.uwrapForward p
                      (hshowParen
                         (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fp
                            (gprec T.mkNoSrcPos p))
                         (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                            (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p) fx)
                            (T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
                               (T.uap1 T.mkNoSrcPos p
                                  (gshowString T.mkNoSrcPos p)
                                  (T.fromLitString T.mkNoSrcPos p " % "))
                               (T.uap1 T.mkNoSrcPos p (gshows T.mkNoSrcPos p)
                                  fy)))
                         p)
                hshowsPrec _ _ p = T.fatal p
gapproxRational papproxRational p
  = T.ufun2 aapproxRational papproxRational p
      happroxRational
happroxRational fx feps p
  = T.uwrapForward p
      (hsimplest
         (T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fx feps)
         (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx feps)
         p)
  where gsimplest psimplest p
          = T.ufun2 c3267v15v3272v45simplest psimplest p
              hsimplest
        asimplest = c3267v15v3272v45simplest
        hsimplest fx fy p
          = T.ucguard
              (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fy fx)
              (T.uwrapForward p (hsimplest fy fx p))
              (T.ucguard
                 (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p) fx fy)
                 (gxr T.mkNoSrcPos p)
                 (T.ucguard
                    (T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fx
                       (T.uap1 T.mkNoSrcPos p
                          (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                          (T.conInteger T.mkNoSrcPos p (0))))
                    (T.uwrapForward p
                       (hsimplest' (gn T.mkNoSrcPos p) (gd T.mkNoSrcPos p)
                          (gn' T.mkNoSrcPos p)
                          (gd' T.mkNoSrcPos p)
                          p))
                    (T.ucguard
                       (T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fy
                          (T.uap1 T.mkNoSrcPos p
                             (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                             (T.conInteger T.mkNoSrcPos p (0))))
                       (T.uap1 T.mkNoSrcPos p
                          (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                          (T.uwrapForward p
                             (hsimplest'
                                (T.uap1 T.mkNoSrcPos p
                                   (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                   (gn' T.mkNoSrcPos p))
                                (gd' T.mkNoSrcPos p)
                                (T.uap1 T.mkNoSrcPos p
                                   (Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
                                   (gn T.mkNoSrcPos p))
                                (gd T.mkNoSrcPos p)
                                p)))
                       (T.ucguard (gotherwise T.mkNoSrcPos p)
                          (T.con2 T.mkNoSrcPos p (:%) (+:%)
                             (T.uap1 T.mkNoSrcPos p
                                (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                (T.conInteger T.mkNoSrcPos p (0)))
                             (T.uap1 T.mkNoSrcPos p
                                (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                                (T.conInteger T.mkNoSrcPos p (1))))
                          (T.fatal p)))))
          where gxr pxr p = T.uconstUse pxr p sxr
                sxr
                  = T.uconstDef p c3272v47v3272v70xr
                      (\ p ->
                         T.uap1 T.mkNoSrcPos p (gtoRational T.mkNoSrcPos p)
                           fx)
                gn pn p = T.uconstUse pn p sn
                gd pd p = T.uconstUse pd p sd
                sn
                  = T.uconstDef p c3272v47v3272v70n
                      (\ _ ->
                         case j3272v47v3272v70n of
                             (kn, fn, fd) -> fn)
                sd
                  = T.uconstDef p c3272v47v3272v70d
                      (\ _ ->
                         case j3272v47v3272v70n of
                             (kn, fn, fd) -> fd)
                j3272v47v3272v70n
                  = case gxr T.mkNoSrcPos p of
                        (T.R ((:%) fn fd) kn) -> (kn, fn, fd)
                        _ -> T.fatal p
                gn' pn' p = T.uconstUse pn' p sn'
                gd' pd' p = T.uconstUse pd' p sd'
                sn'
                  = T.uconstDef p c3273v47v3273v70n'
                      (\ _ ->
                         case j3273v47v3273v70n' of
                             (kn', fn', fd') -> fn')
                sd'
                  = T.uconstDef p c3273v47v3273v70d'
                      (\ _ ->
                         case j3273v47v3273v70n' of
                             (kn', fn', fd') -> fd')
                j3273v47v3273v70n'
                  = case
                      T.uap1 T.mkNoSrcPos p (gtoRational T.mkNoSrcPos p) fy
                      of
                        (T.R ((:%) fn' fd') kn') -> (kn', fn', fd')
                        _ -> T.fatal p
        gsimplest' psimplest' p
          = T.ufun4 c3275v15v3279v42simplest' psimplest' p
              hsimplest'
        asimplest' = c3275v15v3279v42simplest'
        hsimplest' fn fd fn' fd' p
          = T.ucguard
              (T.uap2 T.mkNoSrcPos p ((!==) T.mkNoSrcPos p)
                 (gr T.mkNoSrcPos p)
                 (T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                    (T.conInteger T.mkNoSrcPos p (0))))
              (T.con2 T.mkNoSrcPos p (:%) (+:%) (gq T.mkNoSrcPos p)
                 (T.uap1 T.mkNoSrcPos p
                    (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                    (T.conInteger T.mkNoSrcPos p (1))))
              (T.ucguard
                 (T.uap2 T.mkNoSrcPos p ((!/=) T.mkNoSrcPos p)
                    (gq T.mkNoSrcPos p)
                    (gq' T.mkNoSrcPos p))
                 (T.con2 T.mkNoSrcPos p (:%) (+:%)
                    (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                       (gq T.mkNoSrcPos p)
                       (T.uap1 T.mkNoSrcPos p
                          (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                          (T.conInteger T.mkNoSrcPos p (1))))
                    (T.uap1 T.mkNoSrcPos p
                       (Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
                       (T.conInteger T.mkNoSrcPos p (1))))
                 (T.ucguard (gotherwise T.mkNoSrcPos p)
                    (T.con2 T.mkNoSrcPos p (:%) (+:%)
                       (T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
                          (T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
                             (gq T.mkNoSrcPos p)
                             (gn'' T.mkNoSrcPos p))
                          (gd'' T.mkNoSrcPos p))
                       (gn'' T.mkNoSrcPos p))
                    (T.fatal p)))
          where gq pq p = T.uconstUse pq p sq
                gr pr p = T.uconstUse pr p sr
                sq
                  = T.uconstDef p c3279v44v3279v68q
                      (\ _ ->
                         case j3279v44v3279v68q of
                             (kq, fq, fr) -> fq)
                sr
                  = T.uconstDef p c3279v44v3279v68r
                      (\ _ ->
                         case j3279v44v3279v68q of
                             (kq, fq, fr) -> fr)
                j3279v44v3279v68q
                  = case
                      T.uap2 T.mkNoSrcPos p (gquotRem T.mkNoSrcPos p) fn fd
                      of
                        T.R (T.Tuple2 fq fr) kq -> (kq, fq, fr)
                        _ -> T.fatal p
                gq' pq' p = T.uconstUse pq' p sq'
                gr' pr' p = T.uconstUse pr' p sr'
                sq'
                  = T.uconstDef p c3280v44v3280v70q'
                      (\ _ ->
                         case j3280v44v3280v70q' of
                             (kq', fq', fr') -> fq')
                sr'
                  = T.uconstDef p c3280v44v3280v70r'
                      (\ _ ->
                         case j3280v44v3280v70q' of
                             (kq', fq', fr') -> fr')
                j3280v44v3280v70q'
                  = case
                      T.uap2 T.mkNoSrcPos p (gquotRem T.mkNoSrcPos p) fn'
                        fd'
                      of
                        T.R (T.Tuple2 fq' fr') kq' -> (kq', fq', fr')
                        _ -> T.fatal p
                gn'' pn'' p = T.uconstUse pn'' p sn''
                gd'' pd'' p = T.uconstUse pd'' p sd''
                sn''
                  = T.uconstDef p c3281v44v3281v76n''
                      (\ _ ->
                         case j3281v44v3281v76n'' of
                             (kn'', fn'', fd'') -> fn'')
                sd''
                  = T.uconstDef p c3281v44v3281v76d''
                      (\ _ ->
                         case j3281v44v3281v76n'' of
                             (kn'', fn'', fd'') -> fd'')
                j3281v44v3281v76n''
                  = case
                      T.uwrapForward p
                        (hsimplest' fd' (gr' T.mkNoSrcPos p) fd
                           (gr T.mkNoSrcPos p)
                           p)
                      of
                        (T.R ((:%) fn'' fd'') kn'') -> (kn'', fn'', fd'')
                        _ -> T.fatal p
aEQ
  = T.mkConstructor tPreludeBasic 5530025 5530026 3 (0)
      "EQ"
aFFExponent
  = T.mkConstructor tPreludeBasic 29930017 29930026 3
      (0)
      "FFExponent"
aFFFixed
  = T.mkConstructor tPreludeBasic 29930030 29930036 3
      (0)
      "FFFixed"
aFFGeneric
  = T.mkConstructor tPreludeBasic 29930040 29930048 3
      (0)
      "FFGeneric"
aGT
  = T.mkConstructor tPreludeBasic 5530030 5530031 3 (0)
      "GT"
aJust
  = T.mkConstructor tPreludeBasic 5060029 5060032 3 (1)
      "Just"
aLT
  = T.mkConstructor tPreludeBasic 5530020 5530021 3 (0)
      "LT"
aLeft
  = T.mkConstructor tPreludeBasic 5280022 5280025 3 (1)
      "Left"
aNothing
  = T.mkConstructor tPreludeBasic 5060019 5060025 3 (0)
      "Nothing"
aRight
  = T.mkConstructor tPreludeBasic 5280031 5280035 3 (1)
      "Right"
a_filter
  = T.mkVariable tPreludeBasic 14480001 14480036 3 (3)
      "_filter"
      Prelude.False
a_foldr
  = T.mkVariable tPreludeBasic 14440001 14450043 3 (3)
      "_foldr"
      Prelude.False
aall
  = T.mkVariable tPreludeBasic 17080001 17080031 3 (1)
      "all"
      Prelude.False
aalt
  = T.mkVariable tPreludeBasic 530001 530022 3 (3)
      "alt"
      Prelude.False
aand
  = T.mkVariable tPreludeBasic 17000001 17000035 3 (0)
      "and"
      Prelude.False
aany
  = T.mkVariable tPreludeBasic 17070001 17070030 3 (1)
      "any"
      Prelude.False
aapproxRational
  = T.mkVariable tPreludeBasic 32660001 32670013 3 (2)
      "approxRational"
      Prelude.False
aasTypeOf
  = T.mkVariable tPreludeBasic 14080001 14080025 3 (0)
      "asTypeOf"
      Prelude.False
aasciiTab
  = T.mkVariable tPreludeBasic 28210001 28270017 3 (0)
      "asciiTab"
      Prelude.False
c253v5v264v30atan2
  = T.mkVariable tPreludeBasic 2530005 2640030 3 (-1)
      "atan2"
      Prelude.False
abreak
  = T.mkVariable tPreludeBasic 16560001 16560041 3 (1)
      "break"
      Prelude.False
c221v5v222v29ceiling
  = T.mkVariable tPreludeBasic 2210005 2220029 3 (-1)
      "ceiling"
      Prelude.False
achr
  = T.mkVariable tPreludeBasic 27670001 27670033 3 (0)
      "chr"
      Prelude.False
c81v5v84v26compare
  = T.mkVariable tPreludeBasic 810005 840026 3 (-1)
      "compare"
      Prelude.False
aconcat
  = T.mkVariable tPreludeBasic 14740001 14740030 3 (1)
      "concat"
      Prelude.False
aconcatMap
  = T.mkVariable tPreludeBasic 17430001 17430034 3 (1)
      "concatMap"
      Prelude.False
aconst
  = T.mkVariable tPreludeBasic 3870001 3870021 3 (2)
      "const"
      Prelude.False
acurry
  = T.mkVariable tPreludeBasic 13880001 13880028 3 (3)
      "curry"
      Prelude.False
acycle
  = T.mkVariable tPreludeBasic 16050001 16140000 3 (1)
      "cycle"
      Prelude.False
adenominator
  = T.mkVariable tPreludeBasic 32190001 32190028 3 (1)
      "denominator"
      Prelude.False
adigitToInt
  = T.mkVariable tPreludeBasic 27480001 27520064 3 (1)
      "digitToInt"
      Prelude.False
c159v5v159v32div
  = T.mkVariable tPreludeBasic 1590005 1590032 30 (-1)
      "div"
      Prelude.False
c161v5v164v29divMod
  = T.mkVariable tPreludeBasic 1610005 1640029 3 (-1)
      "divMod"
      Prelude.False
adrop
  = T.mkVariable tPreludeBasic 16210001 16230039 3 (2)
      "drop"
      Prelude.False
adropWhile
  = T.mkVariable tPreludeBasic 16430001 16460029 3 (2)
      "dropWhile"
      Prelude.False
aeither
  = T.mkVariable tPreludeBasic 5320001 5330027 3 (3)
      "either"
      Prelude.False
aelem
  = T.mkVariable tPreludeBasic 17140001 17140030 16 (1)
      "elem"
      Prelude.False
c119v5v119v50enumFrom
  = T.mkVariable tPreludeBasic 1190005 1190050 3 (-1)
      "enumFrom"
      Prelude.False
c121v5v121v62enumFromThen
  = T.mkVariable tPreludeBasic 1210005 1210062 3 (-1)
      "enumFromThen"
      Prelude.False
c122v5v123v73enumFromThenTo
  = T.mkVariable tPreludeBasic 1220005 1230073 3 (-1)
      "enumFromThenTo"
      Prelude.False
c120v5v120v61enumFromTo
  = T.mkVariable tPreludeBasic 1200005 1200061 3 (-1)
      "enumFromTo"
      Prelude.False
aeven
  = T.mkVariable tPreludeBasic 2740001 2740034 3 (1)
      "even"
      Prelude.False
c244v5v245v29exponent
  = T.mkVariable tPreludeBasic 2440005 2450029 3 (-1)
      "exponent"
      Prelude.False
aexpt
  = T.mkVariable tPreludeBasic 29060001 29100014 3 (2)
      "expt"
      Prelude.False
aexpts
  = T.mkVariable tPreludeBasic 29130001 29130041 3 (0)
      "expts"
      Prelude.False
c328v5v328v21fail
  = T.mkVariable tPreludeBasic 3280005 3280021 3 (-1)
      "fail"
      Prelude.False
afilter
  = T.mkVariable tPreludeBasic 14680001 14700041 3 (2)
      "filter"
      Prelude.False
aflip
  = T.mkVariable tPreludeBasic 3970001 3970025 3 (3)
      "flip"
      Prelude.False
afloatToDigits
  = T.mkVariable tPreludeBasic 30910001 31540043 3 (2)
      "floatToDigits"
      Prelude.False
c224v5v225v29floor
  = T.mkVariable tPreludeBasic 2240005 2250029 3 (-1)
      "floor"
      Prelude.False
afoldl
  = T.mkVariable tPreludeBasic 15370001 15380038 3 (3)
      "foldl"
      Prelude.False
afoldl1
  = T.mkVariable tPreludeBasic 15420001 15430054 3 (2)
      "foldl1"
      Prelude.False
afoldr
  = T.mkVariable tPreludeBasic 15610001 15620038 3 (3)
      "foldr"
      Prelude.False
afoldr1
  = T.mkVariable tPreludeBasic 15660001 15680054 3 (2)
      "foldr1"
      Prelude.False
aformatRealFloat
  = T.mkVariable tPreludeBasic 29960001 29980007 3 (3)
      "formatRealFloat"
      Prelude.False
afromIntegral
  = T.mkVariable tPreludeBasic 3060001 3060043 3 (0)
      "fromIntegral"
      Prelude.False
afromRat
  = T.mkVariable tPreludeBasic 28630001 28660019 3 (1)
      "fromRat"
      Prelude.False
afromRat'
  = T.mkVariable tPreludeBasic 28760001 28770007 3 (1)
      "fromRat'"
      Prelude.False
afst
  = T.mkVariable tPreludeBasic 13780001 13780021 3 (1)
      "fst"
      Prelude.False
agcd
  = T.mkVariable tPreludeBasic 2790001 2850000 3 (2)
      "gcd"
      Prelude.False
agetLine
  = T.mkVariable tPreludeBasic 26900001 26980000 3 (0)
      "getLine"
      Prelude.False
aguard
  = T.mkVariable tPreludeBasic 580001 580032 3 (1)
      "guard"
      Prelude.False
ahead
  = T.mkVariable tPreludeBasic 14840001 14850052 3 (1)
      "head"
      Prelude.False
aid
  = T.mkVariable tPreludeBasic 3820001 3820021 3 (1)
      "id"
      Prelude.False
ainit
  = T.mkVariable tPreludeBasic 15000001 15020052 3 (1)
      "init"
      Prelude.False
aintEnumFromByTo
  = T.mkVariable tPreludeBasic 6050001 6100007 3 (3)
      "intEnumFromByTo"
      Prelude.False
aintToDigit
  = T.mkVariable tPreludeBasic 27550001 27580064 3 (1)
      "intToDigit"
      Prelude.False
aintegerLogBase
  = T.mkVariable tPreludeBasic 29200001 29280035 3 (2)
      "integerLogBase"
      Prelude.False
ainteract
  = T.mkVariable tPreludeBasic 26990001 27130000 3 (1)
      "interact"
      Prelude.False
aiterate
  = T.mkVariable tPreludeBasic 15870001 15870039 3 (2)
      "iterate"
      Prelude.False
alast
  = T.mkVariable tPreludeBasic 14890001 14910052 3 (1)
      "last"
      Prelude.False
alcm
  = T.mkVariable tPreludeBasic 2860001 2880050 3 (2)
      "lcm"
      Prelude.False
alength
  = T.mkVariable tPreludeBasic 15120001 15130032 3 (1)
      "length"
      Prelude.False
alex
  = T.mkVariable tPreludeBasic 18800001 19220000 3 (1)
      "lex"
      Prelude.False
alexDigits
  = T.mkVariable tPreludeBasic 31820001 31820035 3 (0)
      "lexDigits"
      Prelude.False
alexLitChar
  = T.mkVariable tPreludeBasic 28300001 28410025 3 (1)
      "lexLitChar"
      Prelude.False
alift
  = T.mkVariable tPreludeBasic 440001 440078 3 (4)
      "lift"
      Prelude.False
alines
  = T.mkVariable tPreludeBasic 16670001 16740000 3 (1)
      "lines"
      Prelude.False
c192v5v192v37logBase
  = T.mkVariable tPreludeBasic 1920005 1920037 3 (-1)
      "logBase"
      Prelude.False
alookup
  = T.mkVariable tPreludeBasic 17200001 17230034 3 (2)
      "lookup"
      Prelude.False
amap
  = T.mkVariable tPreludeBasic 14580001 14590029 3 (2)
      "map"
      Prelude.False
amapM
  = T.mkVariable tPreludeBasic 3430001 3430039 3 (2)
      "mapM"
      Prelude.False
amapM_
  = T.mkVariable tPreludeBasic 3470001 3470040 3 (2)
      "mapM_"
      Prelude.False
c92v5v94v25max
  = T.mkVariable tPreludeBasic 920005 940025 3 (-1)
      "max"
      Prelude.False
amaxExpt
  = T.mkVariable tPreludeBasic 29040001 29040019 3 (0)
      "maxExpt"
      Prelude.False
amaximum
  = T.mkVariable tPreludeBasic 17350001 17360033 3 (1)
      "maximum"
      Prelude.False
amaybe
  = T.mkVariable tPreludeBasic 5100001 5110025 3 (3)
      "maybe"
      Prelude.False
c95v5v97v25min
  = T.mkVariable tPreludeBasic 950005 970025 3 (-1)
      "min"
      Prelude.False
aminExpt
  = T.mkVariable tPreludeBasic 29030001 29030016 3 (0)
      "minExpt"
      Prelude.False
aminimum
  = T.mkVariable tPreludeBasic 17380001 17390033 3 (1)
      "minimum"
      Prelude.False
c160v5v160v32mod
  = T.mkVariable tPreludeBasic 1600005 1600032 30 (-1)
      "mod"
      Prelude.False
c142v5v142v29negate
  = T.mkVariable tPreludeBasic 1420005 1420029 3 (-1)
      "negate"
      Prelude.False
anonnull
  = T.mkVariable tPreludeBasic 31850001 31850057 3 (2)
      "nonnull"
      Prelude.False
anot
  = T.mkVariable tPreludeBasic 4630001 4640024 3 (1)
      "not"
      Prelude.False
anotElem
  = T.mkVariable tPreludeBasic 17150001 17150030 16 (1)
      "notElem"
      Prelude.False
anull
  = T.mkVariable tPreludeBasic 15060001 15070025 3 (1)
      "null"
      Prelude.False
anumerator
  = T.mkVariable tPreludeBasic 32170001 32170028 3 (1)
      "numerator"
      Prelude.False
anumericEnumFrom
  = T.mkVariable tPreludeBasic 8670001 8670039 3 (0)
      "numericEnumFrom"
      Prelude.False
anumericEnumFromThen
  = T.mkVariable tPreludeBasic 8680001 8680045 3 (2)
      "numericEnumFromThen"
      Prelude.False
anumericEnumFromThenTo
  = T.mkVariable tPreludeBasic 8700001 8710034 3 (3)
      "numericEnumFromThenTo"
      Prelude.False
anumericEnumFromTo
  = T.mkVariable tPreludeBasic 8690001 8690067 3 (2)
      "numericEnumFromTo"
      Prelude.False
aodd
  = T.mkVariable tPreludeBasic 2750001 2750030 3 (0)
      "odd"
      Prelude.False
aor
  = T.mkVariable tPreludeBasic 17010001 17010036 3 (0)
      "or"
      Prelude.False
aord
  = T.mkVariable tPreludeBasic 27640001 27640035 3 (0)
      "ord"
      Prelude.False
aotherwise
  = T.mkVariable tPreludeBasic 4680001 4680024 3 (0)
      "otherwise"
      Prelude.False
aprec
  = T.mkVariable tPreludeBasic 31930001 31930015 3 (0)
      "prec"
      Prelude.False
c118v5v118v56pred
  = T.mkVariable tPreludeBasic 1180005 1180056 3 (-1)
      "pred"
      Prelude.False
aprint
  = T.mkVariable tPreludeBasic 26840001 26840037 3 (1)
      "print"
      Prelude.False
aproduct
  = T.mkVariable tPreludeBasic 17290001 17290031 3 (0)
      "product"
      Prelude.False
aprotectEsc
  = T.mkVariable tPreludeBasic 28180001 28190034 3 (2)
      "protectEsc"
      Prelude.False
aputStr
  = T.mkVariable tPreludeBasic 26770001 26770035 3 (1)
      "putStr"
      Prelude.False
aputStrLn
  = T.mkVariable tPreludeBasic 26800001 26830000 3 (1)
      "putStrLn"
      Prelude.False
c157v5v157v32quot
  = T.mkVariable tPreludeBasic 1570005 1570032 30 (-1)
      "quot"
      Prelude.False
aread
  = T.mkVariable tPreludeBasic 18470001 18530000 3 (1)
      "read"
      Prelude.False
areadDec
  = T.mkVariable tPreludeBasic 29760001 29760042 3 (0)
      "readDec"
      Prelude.False
areadFloat
  = T.mkVariable tPreludeBasic 31620001 31660020 3 (1)
      "readFloat"
      Prelude.False
areadHex
  = T.mkVariable tPreludeBasic 29780001 29780042 3 (0)
      "readHex"
      Prelude.False
areadIO
  = T.mkVariable tPreludeBasic 27140001 27200000 3 (1)
      "readIO"
      Prelude.False
areadInt
  = T.mkVariable tPreludeBasic 29700001 29720032 3 (4)
      "readInt"
      Prelude.False
c1810v5v1812v28readList
  = T.mkVariable tPreludeBasic 18100005 18120028 3 (-1)
      "readList"
      Prelude.False
areadLitChar
  = T.mkVariable tPreludeBasic 27710001 28000034 3 (1)
      "readLitChar"
      Prelude.False
areadLn
  = T.mkVariable tPreludeBasic 27210001 27470000 3 (0)
      "readLn"
      Prelude.False
areadOct
  = T.mkVariable tPreludeBasic 29770001 29770042 3 (0)
      "readOct"
      Prelude.False
areadParen
  = T.mkVariable tPreludeBasic 18660001 18670025 3 (2)
      "readParen"
      Prelude.False
areadSigned
  = T.mkVariable tPreludeBasic 29580001 29590026 3 (1)
      "readSigned"
      Prelude.False
areads
  = T.mkVariable tPreludeBasic 18390001 18390031 3 (0)
      "reads"
      Prelude.False
arealToFrac
  = T.mkVariable tPreludeBasic 3100001 3100044 3 (0)
      "realToFrac"
      Prelude.False
c174v5v174v29recip
  = T.mkVariable tPreludeBasic 1740005 1740029 3 (-1)
      "recip"
      Prelude.False
areduce
  = T.mkVariable tPreludeBasic 32110001 32150000 3 (2)
      "reduce"
      Prelude.False
c158v5v158v32rem
  = T.mkVariable tPreludeBasic 1580005 1580032 30 (-1)
      "rem"
      Prelude.False
arepeat
  = T.mkVariable tPreludeBasic 15920001 15920028 3 (1)
      "repeat"
      Prelude.False
areplicate
  = T.mkVariable tPreludeBasic 15970001 15970037 3 (2)
      "replicate"
      Prelude.False
areverse
  = T.mkVariable tPreludeBasic 16920001 16920039 3 (0)
      "reverse"
      Prelude.False
c208v5v221v0round
  = T.mkVariable tPreludeBasic 2080005 2210000 3 (-1)
      "round"
      Prelude.False
aroundTo
  = T.mkVariable tPreludeBasic 30650001 30680007 3 (3)
      "roundTo"
      Prelude.False
c250v5v251v29scaleFloat
  = T.mkVariable tPreludeBasic 2500005 2510029 3 (-1)
      "scaleFloat"
      Prelude.False
ascaleRat
  = T.mkVariable tPreludeBasic 28920001 29000014 3 (6)
      "scaleRat"
      Prelude.False
ascanl
  = T.mkVariable tPreludeBasic 15470001 15490055 3 (3)
      "scanl"
      Prelude.False
ascanl1
  = T.mkVariable tPreludeBasic 15530001 15540022 3 (2)
      "scanl1"
      Prelude.False
ascanr
  = T.mkVariable tPreludeBasic 15720001 15770000 3 (3)
      "scanr"
      Prelude.False
ascanr1
  = T.mkVariable tPreludeBasic 15780001 15860000 3 (2)
      "scanr1"
      Prelude.False
asequence
  = T.mkVariable tPreludeBasic 3320001 3330025 3 (0)
      "sequence"
      Prelude.False
asequence_
  = T.mkVariable tPreludeBasic 3370001 3370040 3 (0)
      "sequence_"
      Prelude.False
c1830v5v1830v36show
  = T.mkVariable tPreludeBasic 18300005 18300036 3 (-1)
      "show"
      Prelude.False
ashowChar
  = T.mkVariable tPreludeBasic 18540001 18540023 3 (0)
      "showChar"
      Prelude.False
ashowEFloat
  = T.mkVariable tPreludeBasic 29860001 29860061 3 (2)
      "showEFloat"
      Prelude.False
ashowFFloat
  = T.mkVariable tPreludeBasic 29870001 29870058 3 (2)
      "showFFloat"
      Prelude.False
ashowFloat
  = T.mkVariable tPreludeBasic 29890001 29890036 3 (0)
      "showFloat"
      Prelude.False
ashowGFloat
  = T.mkVariable tPreludeBasic 29880001 29880060 3 (2)
      "showGFloat"
      Prelude.False
ashowHex
  = T.mkVariable tPreludeBasic 29420001 29420037 3 (0)
      "showHex"
      Prelude.False
ashowInt
  = T.mkVariable tPreludeBasic 29410001 29410037 3 (0)
      "showInt"
      Prelude.False
ashowIntAtBase
  = T.mkVariable tPreludeBasic 29490001 29530007 3 (4)
      "showIntAtBase"
      Prelude.False
c1832v5v1838v0showList
  = T.mkVariable tPreludeBasic 18320005 18380000 3 (-1)
      "showList"
      Prelude.False
ashowLitChar
  = T.mkVariable tPreludeBasic 28030001 28160079 3 (1)
      "showLitChar"
      Prelude.False
ashowOct
  = T.mkVariable tPreludeBasic 29400001 29400037 3 (0)
      "showOct"
      Prelude.False
ashowParen
  = T.mkVariable tPreludeBasic 18620001 18620068 3 (2)
      "showParen"
      Prelude.False
ashowSigned
  = T.mkVariable tPreludeBasic 29340001 29360046 3 (3)
      "showSigned"
      Prelude.False
ashowString
  = T.mkVariable tPreludeBasic 18580001 18580024 3 (0)
      "showString"
      Prelude.False
ashows
  = T.mkVariable tPreludeBasic 18430001 18430031 3 (0)
      "shows"
      Prelude.False
c1828v5v1828v35showsPrec
  = T.mkVariable tPreludeBasic 18280005 18280035 3 (-1)
      "showsPrec"
      Prelude.False
c247v5v248v29significand
  = T.mkVariable tPreludeBasic 2470005 2480029 3 (-1)
      "significand"
      Prelude.False
asnd
  = T.mkVariable tPreludeBasic 13820001 13820021 3 (1)
      "snd"
      Prelude.False
aspan
  = T.mkVariable tPreludeBasic 16500001 16560000 3 (2)
      "span"
      Prelude.False
asplitAt
  = T.mkVariable tPreludeBasic 16270001 16270050 3 (2)
      "splitAt"
      Prelude.False
c193v5v193v32sqrt
  = T.mkVariable tPreludeBasic 1930005 1930032 3 (-1)
      "sqrt"
      Prelude.False
asubtract
  = T.mkVariable tPreludeBasic 2700001 2700028 3 (0)
      "subtract"
      Prelude.False
c117v5v117v48succ
  = T.mkVariable tPreludeBasic 1170005 1170048 3 (-1)
      "succ"
      Prelude.False
asum
  = T.mkVariable tPreludeBasic 17280001 17280031 3 (0)
      "sum"
      Prelude.False
atail
  = T.mkVariable tPreludeBasic 14950001 14960052 3 (1)
      "tail"
      Prelude.False
atake
  = T.mkVariable tPreludeBasic 16150001 16170043 3 (2)
      "take"
      Prelude.False
atakeWhile
  = T.mkVariable tPreludeBasic 16360001 16390029 3 (2)
      "takeWhile"
      Prelude.False
c194v5v194v39tan
  = T.mkVariable tPreludeBasic 1940005 1940039 3 (-1)
      "tan"
      Prelude.False
c195v5v195v39tanh
  = T.mkVariable tPreludeBasic 1950005 1950039 3 (-1)
      "tanh"
      Prelude.False
athenAp
  = T.mkVariable tPreludeBasic 470001 470035 3 (0)
      "thenAp"
      Prelude.False
athenLex
  = T.mkVariable tPreludeBasic 500001 500067 3 (2)
      "thenLex"
      Prelude.False
c206v5v206v32truncate
  = T.mkVariable tPreludeBasic 2060005 2060032 3 (-1)
      "truncate"
      Prelude.False
auncurry
  = T.mkVariable tPreludeBasic 13920001 13920037 3 (2)
      "uncurry"
      Prelude.False
aunlines
  = T.mkVariable tPreludeBasic 16820001 16820039 3 (0)
      "unlines"
      Prelude.False
auntil
  = T.mkVariable tPreludeBasic 13990001 14010035 3 (3)
      "until"
      Prelude.False
aunwords
  = T.mkVariable tPreludeBasic 16860001 16870050 3 (1)
      "unwords"
      Prelude.False
aunzip
  = T.mkVariable tPreludeBasic 17790001 17790066 3 (0)
      "unzip"
      Prelude.False
aunzip3
  = T.mkVariable tPreludeBasic 17830001 17840036 3 (0)
      "unzip3"
      Prelude.False
awords
  = T.mkVariable tPreludeBasic 16750001 16810000 3 (1)
      "words"
      Prelude.False
ayield
  = T.mkVariable tPreludeBasic 410001 410019 3 (2)
      "yield"
      Prelude.False
azip
  = T.mkVariable tPreludeBasic 17520001 17520031 3 (0)
      "zip"
      Prelude.False
azip3
  = T.mkVariable tPreludeBasic 17550001 17550033 3 (0)
      "zip3"
      Prelude.False
azipWith
  = T.mkVariable tPreludeBasic 17640001 17660022 3 (3)
      "zipWith"
      Prelude.False
azipWith3
  = T.mkVariable tPreludeBasic 17700001 17720022 3 (4)
      "zipWith3"
      Prelude.False
(+!!)
  = T.mkVariable tPreludeBasic 15180001 15210034 38 (2)
      "!!"
      Prelude.False
(+$)
  = T.mkVariable tPreludeBasic 4070001 4070016 1 (2)
      "$"
      Prelude.False
(+$!)
  = T.mkVariable tPreludeBasic 4080001 4080024 1 (2)
      "$!"
      Prelude.False
(+%)
  = T.mkVariable tPreludeBasic 32150001 32150056 30 (2)
      "%"
      Prelude.False
(+&&)
  = T.mkVariable tPreludeBasic 4560001 4570025 13 (2)
      "&&"
      Prelude.False
(+#>#=*=#>#=%>**)
  = T.mkVariable tPreludeBasic 1910005 1910039 33 (-1)
      "**"
      Prelude.False
(+++)
  = T.mkVariable tPreludeBasic 14630001 14640029 21 (2)
      "++"
      Prelude.False
(+#&#=*=#&#=%+-)
  = T.mkVariable tPreludeBasic 1410005 1410036 26 (-1)
      "-"
      Prelude.False
(+.)
  = T.mkVariable tPreludeBasic 3920001 3920027 37 (3)
      "."
      Prelude.False
(+#^*=*=#^*=%*/)
  = T.mkVariable tPreludeBasic 1750005 1750035 30 (-1)
      "/"
      Prelude.False
(++>=*=+>=%+/=)
  = T.mkVariable tPreludeBasic 690005 690036 16 (-1)
      "/="
      Prelude.False
(+:%)
  = T.mkConstructor tPreludeBasic 31950020 31950021 3
      (2)
      ":%"
(+@^=*=@^=&#<)
  = T.mkVariable tPreludeBasic 870005 870041 16 (-1)
      "<"
      Prelude.False
(+@+=*=@+=&#<=)
  = T.mkVariable tPreludeBasic 860005 860041 16 (-1)
      "<="
      Prelude.False
(+=<<)
  = T.mkVariable tPreludeBasic 3510001 3510027 5 (2)
      "=<<"
      Prelude.False
(+^!=*=^!=%+==)
  = T.mkVariable tPreludeBasic 700005 700036 16 (-1)
      "=="
      Prelude.False
(+@>=*=@>=&#>)
  = T.mkVariable tPreludeBasic 890005 890041 16 (-1)
      ">"
      Prelude.False
(+@@=*=@@=&#>=)
  = T.mkVariable tPreludeBasic 880005 880041 16 (-1)
      ">="
      Prelude.False
(+%$^=*=%$^=$@>>)
  = T.mkVariable tPreludeBasic 3270005 3270028 6 (-1)
      ">>"
      Prelude.False
(+^)
  = T.mkVariable tPreludeBasic 2920001 2980055 33 (2)
      "^"
      Prelude.False
(+^^)
  = T.mkVariable tPreludeBasic 3020001 3020058 33 (2)
      "^^"
      Prelude.False
(+||)
  = T.mkVariable tPreludeBasic 4580001 4590021 9 (2)
      "||"
      Prelude.False
c157v34v157v52q
  = T.mkVariable tPreludeBasic 1570034 1570052 3 (0)
      "q"
      Prelude.True
c157v34v157v52r
  = T.mkVariable tPreludeBasic 1570034 1570052 3 (0)
      "r"
      Prelude.True
c158v34v158v52q
  = T.mkVariable tPreludeBasic 1580034 1580052 3 (0)
      "q"
      Prelude.True
c158v34v158v52r
  = T.mkVariable tPreludeBasic 1580034 1580052 3 (0)
      "r"
      Prelude.True
c159v34v159v51q
  = T.mkVariable tPreludeBasic 1590034 1590051 3 (0)
      "q"
      Prelude.True
c159v34v159v51r
  = T.mkVariable tPreludeBasic 1590034 1590051 3 (0)
      "r"
      Prelude.True
c160v34v160v51q
  = T.mkVariable tPreludeBasic 1600034 1600051 3 (0)
      "q"
      Prelude.True
c160v34v160v51r
  = T.mkVariable tPreludeBasic 1600034 1600051 3 (0)
      "r"
      Prelude.True
c164v31v164v52q
  = T.mkVariable tPreludeBasic 1640031 1640052 3 (0)
      "q"
      Prelude.True
c164v31v164v52qr
  = T.mkVariable tPreludeBasic 1640031 1640052 3 (0)
      "qr"
      Prelude.True
c164v31v164v52r
  = T.mkVariable tPreludeBasic 1640031 1640052 3 (0)
      "r"
      Prelude.True
c206v34v206v57m
  = T.mkVariable tPreludeBasic 2060034 2060057 3 (0)
      "m"
      Prelude.True
c209v29v209v66m
  = T.mkVariable tPreludeBasic 2090029 2090066 3 (0)
      "m"
      Prelude.True
c208v29v208v52n
  = T.mkVariable tPreludeBasic 2080029 2080052 3 (0)
      "n"
      Prelude.True
c208v29v208v52r
  = T.mkVariable tPreludeBasic 2080029 2080052 3 (0)
      "r"
      Prelude.True
c222v31v222v54n
  = T.mkVariable tPreludeBasic 2220031 2220054 3 (0)
      "n"
      Prelude.True
c222v31v222v54r
  = T.mkVariable tPreludeBasic 2220031 2220054 3 (0)
      "r"
      Prelude.True
c225v31v225v54n
  = T.mkVariable tPreludeBasic 2250031 2250054 3 (0)
      "n"
      Prelude.True
c225v31v225v54r
  = T.mkVariable tPreludeBasic 2250031 2250054 3 (0)
      "r"
      Prelude.True
c245v31v245v51m
  = T.mkVariable tPreludeBasic 2450031 2450051 3 (0)
      "m"
      Prelude.True
c245v31v245v51n
  = T.mkVariable tPreludeBasic 2450031 2450051 3 (0)
      "n"
      Prelude.True
c248v31v248v51m
  = T.mkVariable tPreludeBasic 2480031 2480051 3 (0)
      "m"
      Prelude.True
c251v31v251v51m
  = T.mkVariable tPreludeBasic 2510031 2510051 3 (0)
      "m"
      Prelude.True
c251v31v251v51n
  = T.mkVariable tPreludeBasic 2510031 2510051 3 (0)
      "n"
      Prelude.True
c281v27v282v57gcd'
  = T.mkVariable tPreludeBasic 2810027 2820057 3 (2)
      "gcd'"
      Prelude.True
c294v27v298v0f
  = T.mkVariable tPreludeBasic 2940027 2980000 3 (3)
      "f"
      Prelude.True
c296v37v297v71g
  = T.mkVariable tPreludeBasic 2960037 2970071 3 (2)
      "g"
      Prelude.True
c333v27v333v74mcons
  = T.mkVariable tPreludeBasic 3330027 3330074 3 (2)
      "mcons"
      Prelude.True
(+%+!=%=%+!=#^==)
  = T.mkVariable tPreludeBasic 3600003 3600017 3 (-1)
      "=="
      Prelude.False
c363v3v363v20compare
  = T.mkVariable tPreludeBasic 3630003 3630020 3 (-1)
      "compare"
      Prelude.False
c366v3v366v17fromEnum
  = T.mkVariable tPreludeBasic 3660003 3660017 3 (-1)
      "fromEnum"
      Prelude.False
c367v3v368v79toEnum
  = T.mkVariable tPreludeBasic 3670003 3680079 3 (-1)
      "toEnum"
      Prelude.False
c372v3v372v15maxBound
  = T.mkVariable tPreludeBasic 3720003 3720015 3 (-1)
      "maxBound"
      Prelude.False
c371v3v371v15minBound
  = T.mkVariable tPreludeBasic 3710003 3710015 3 (-1)
      "minBound"
      Prelude.False
(+&#^=%=&#>=$&==)
  = T.mkVariable tPreludeBasic 4170003 4190024 3 (-1)
      "=="
      Prelude.False
c422v3v425v26compare
  = T.mkVariable tPreludeBasic 4220003 4250026 3 (-1)
      "compare"
      Prelude.False
c435v3v435v32enumFrom
  = T.mkVariable tPreludeBasic 4350003 4350032 3 (-1)
      "enumFrom"
      Prelude.False
c436v3v436v54enumFromThen
  = T.mkVariable tPreludeBasic 4360003 4360054 3 (-1)
      "enumFromThen"
      Prelude.False
c428v3v429v22fromEnum
  = T.mkVariable tPreludeBasic 4280003 4290022 3 (-1)
      "fromEnum"
      Prelude.False
c431v3v433v71toEnum
  = T.mkVariable tPreludeBasic 4310003 4330071 3 (-1)
      "toEnum"
      Prelude.False
c439v3v441v59readsPrec
  = T.mkVariable tPreludeBasic 4390003 4410059 3 (-1)
      "readsPrec"
      Prelude.False
c444v3v445v38showsPrec
  = T.mkVariable tPreludeBasic 4440003 4450038 3 (-1)
      "showsPrec"
      Prelude.False
c449v3v449v17maxBound
  = T.mkVariable tPreludeBasic 4490003 4490017 3 (-1)
      "maxBound"
      Prelude.False
c448v3v448v18minBound
  = T.mkVariable tPreludeBasic 4480003 4480018 3 (-1)
      "minBound"
      Prelude.False
(+&^@=*=&^@=&>==)
  = T.mkVariable tPreludeBasic 4780005 4780049 3 (-1)
      "=="
      Prelude.False
(+&@$=*=&@$=&><=)
  = T.mkVariable tPreludeBasic 4820005 4820049 3 (-1)
      "<="
      Prelude.False
c491v29v492v59lastChar
  = T.mkVariable tPreludeBasic 4910029 4920059 3 (0)
      "lastChar"
      Prelude.True
c488v5v488v76enumFrom
  = T.mkVariable tPreludeBasic 4880005 4880076 3 (-1)
      "enumFrom"
      Prelude.False
c489v5v490v27enumFromThen
  = T.mkVariable tPreludeBasic 4890005 4900027 3 (-1)
      "enumFromThen"
      Prelude.False
c487v5v487v37fromEnum
  = T.mkVariable tPreludeBasic 4870005 4870037 3 (-1)
      "fromEnum"
      Prelude.False
c486v5v486v37toEnum
  = T.mkVariable tPreludeBasic 4860005 4860037 3 (-1)
      "toEnum"
      Prelude.False
c497v5v497v46maxBound
  = T.mkVariable tPreludeBasic 4970005 4970046 3 (-1)
      "maxBound"
      Prelude.False
c496v5v496v31minBound
  = T.mkVariable tPreludeBasic 4960005 4960031 3 (-1)
      "minBound"
      Prelude.False
(+*!+=*#=*!+=*$==)
  = T.mkVariable tPreludeBasic 5060051 5060052 3 (-1)
      "=="
      Prelude.False
c506v55v506v57localFromEnum
  = T.mkVariable tPreludeBasic 5060055 5060057 3 (1)
      "localFromEnum"
      Prelude.True
c506v55v506v57compare
  = T.mkVariable tPreludeBasic 5060055 5060057 3 (-1)
      "compare"
      Prelude.False
c506v60v506v63readsPrec
  = T.mkVariable tPreludeBasic 5060060 5060063 3 (-1)
      "readsPrec"
      Prelude.False
c506v66v506v69showsPrec
  = T.mkVariable tPreludeBasic 5060066 5060069 3 (-1)
      "showsPrec"
      Prelude.False
c515v5v516v35fmap
  = T.mkVariable tPreludeBasic 5150005 5160035 3 (-1)
      "fmap"
      Prelude.False
c523v5v523v31fail
  = T.mkVariable tPreludeBasic 5230005 5230031 3 (-1)
      "fail"
      Prelude.False
c522v5v522v28return
  = T.mkVariable tPreludeBasic 5220005 5220028 3 (-1)
      "return"
      Prelude.False
(+*$!=*=*$#=%#>>=)
  = T.mkVariable tPreludeBasic 5200005 5210031 3 (-1)
      ">>="
      Prelude.False
(+*$@=*#=*$@=*$==)
  = T.mkVariable tPreludeBasic 5280051 5280052 3 (-1)
      "=="
      Prelude.False
c528v55v528v57localFromEnum
  = T.mkVariable tPreludeBasic 5280055 5280057 3 (1)
      "localFromEnum"
      Prelude.True
c528v55v528v57compare
  = T.mkVariable tPreludeBasic 5280055 5280057 3 (-1)
      "compare"
      Prelude.False
c528v60v528v63readsPrec
  = T.mkVariable tPreludeBasic 5280060 5280063 3 (-1)
      "readsPrec"
      Prelude.False
c528v66v528v69showsPrec
  = T.mkVariable tPreludeBasic 5280066 5280069 3 (-1)
      "showsPrec"
      Prelude.False
c542v4v542v43fmap
  = T.mkVariable tPreludeBasic 5420004 5420043 3 (-1)
      "fmap"
      Prelude.False
c548v4v548v33fail
  = T.mkVariable tPreludeBasic 5480004 5480033 3 (-1)
      "fail"
      Prelude.False
c547v4v547v24return
  = T.mkVariable tPreludeBasic 5470004 5470024 3 (-1)
      "return"
      Prelude.False
(+*&+=&=*&+=$$>>=)
  = T.mkVariable tPreludeBasic 5460004 5460022 3 (-1)
      ">>="
      Prelude.False
(+**&=$#=**&=$$==)
  = T.mkVariable tPreludeBasic 5540021 5540022 3 (-1)
      "=="
      Prelude.False
c554v25v554v27localFromEnum
  = T.mkVariable tPreludeBasic 5540025 5540027 3 (1)
      "localFromEnum"
      Prelude.True
c554v25v554v27compare
  = T.mkVariable tPreludeBasic 5540025 5540027 3 (-1)
      "compare"
      Prelude.False
c554v30v554v33enumFrom
  = T.mkVariable tPreludeBasic 5540030 5540033 3 (-1)
      "enumFrom"
      Prelude.False
c554v30v554v33enumFromThen
  = T.mkVariable tPreludeBasic 5540030 5540033 3 (-1)
      "enumFromThen"
      Prelude.False
c554v30v554v33fromEnum
  = T.mkVariable tPreludeBasic 5540030 5540033 3 (-1)
      "fromEnum"
      Prelude.False
c554v30v554v33toEnum
  = T.mkVariable tPreludeBasic 5540030 5540033 3 (-1)
      "toEnum"
      Prelude.False
c554v36v554v39readsPrec
  = T.mkVariable tPreludeBasic 5540036 5540039 3 (-1)
      "readsPrec"
      Prelude.False
c554v42v554v45showsPrec
  = T.mkVariable tPreludeBasic 5540042 5540045 3 (-1)
      "showsPrec"
      Prelude.False
c554v48v554v54maxBound
  = T.mkVariable tPreludeBasic 5540048 5540054 3 (-1)
      "maxBound"
      Prelude.False
c554v48v554v54minBound
  = T.mkVariable tPreludeBasic 5540048 5540054 3 (-1)
      "minBound"
      Prelude.False
(+*++=%=*++=$&/=)
  = T.mkVariable tPreludeBasic 5660003 5660024 3 (-1)
      "/="
      Prelude.False
(+*+*=%=*+*=$&==)
  = T.mkVariable tPreludeBasic 5650003 5650024 3 (-1)
      "=="
      Prelude.False
(+*+>=%=*+>=$&<)
  = T.mkVariable tPreludeBasic 5690003 5690024 3 (-1)
      "<"
      Prelude.False
(+*^!=%=*^!=$&<=)
  = T.mkVariable tPreludeBasic 5700003 5700024 3 (-1)
      "<="
      Prelude.False
(+*^$=%=*^$=$&>)
  = T.mkVariable tPreludeBasic 5720003 5720024 3 (-1)
      ">"
      Prelude.False
(+*^#=%=*^#=$&>=)
  = T.mkVariable tPreludeBasic 5710003 5710024 3 (-1)
      ">="
      Prelude.False
c579v2v579v24abs
  = T.mkVariable tPreludeBasic 5790002 5790024 3 (-1)
      "abs"
      Prelude.False
c581v2v581v37fromInteger
  = T.mkVariable tPreludeBasic 5810002 5810037 3 (-1)
      "fromInteger"
      Prelude.False
c578v2v578v27negate
  = T.mkVariable tPreludeBasic 5780002 5780027 3 (-1)
      "negate"
      Prelude.False
c580v2v580v27signum
  = T.mkVariable tPreludeBasic 5800002 5800027 3 (-1)
      "signum"
      Prelude.False
(+*^^=$=*^^=$@*)
  = T.mkVariable tPreludeBasic 5770002 5770028 3 (-1)
      "*"
      Prelude.False
(+*^*=$=*^*=$^+)
  = T.mkVariable tPreludeBasic 5750002 5750027 3 (-1)
      "+"
      Prelude.False
(+*^+=$=*^+=$@-)
  = T.mkVariable tPreludeBasic 5760002 5760028 3 (-1)
      "-"
      Prelude.False
c584v5v584v36toRational
  = T.mkVariable tPreludeBasic 5840005 5840036 3 (-1)
      "toRational"
      Prelude.False
c587v5v587v41quot
  = T.mkVariable tPreludeBasic 5870005 5870041 3 (-1)
      "quot"
      Prelude.False
c589v5v589v49quotRem
  = T.mkVariable tPreludeBasic 5890005 5890049 3 (-1)
      "quotRem"
      Prelude.False
c588v5v588v40rem
  = T.mkVariable tPreludeBasic 5880005 5880040 3 (-1)
      "rem"
      Prelude.False
c591v5v591v46toInteger
  = T.mkVariable tPreludeBasic 5910005 5910046 3 (-1)
      "toInteger"
      Prelude.False
c597v3v597v36enumFrom
  = T.mkVariable tPreludeBasic 5970003 5970036 3 (-1)
      "enumFrom"
      Prelude.False
c598v3v598v79enumFromThen
  = T.mkVariable tPreludeBasic 5980003 5980079 3 (-1)
      "enumFromThen"
      Prelude.False
c600v3v600v52enumFromThenTo
  = T.mkVariable tPreludeBasic 6000003 6000052 3 (-1)
      "enumFromThenTo"
      Prelude.False
c599v3v599v40enumFromTo
  = T.mkVariable tPreludeBasic 5990003 5990040 3 (-1)
      "enumFromTo"
      Prelude.False
c595v3v595v15fromEnum
  = T.mkVariable tPreludeBasic 5950003 5950015 3 (-1)
      "fromEnum"
      Prelude.False
c594v3v594v13toEnum
  = T.mkVariable tPreludeBasic 5940003 5940013 3 (-1)
      "toEnum"
      Prelude.False
c612v3v612v68go
  = T.mkVariable tPreludeBasic 6120003 6120068 3 (2)
      "go"
      Prelude.True
c617v3v617v28maxBound
  = T.mkVariable tPreludeBasic 6170003 6170028 3 (-1)
      "maxBound"
      Prelude.False
c616v3v616v28minBound
  = T.mkVariable tPreludeBasic 6160003 6160028 3 (-1)
      "minBound"
      Prelude.False
(++$&=%=+$&=$@/=)
  = T.mkVariable tPreludeBasic 6240003 6240028 3 (-1)
      "/="
      Prelude.False
(++$%=%=+$%=$@==)
  = T.mkVariable tPreludeBasic 6230003 6230028 3 (-1)
      "=="
      Prelude.False
(++$^=%=+$^=$@<)
  = T.mkVariable tPreludeBasic 6270003 6270028 3 (-1)
      "<"
      Prelude.False
(++$@=%=+$@=$@<=)
  = T.mkVariable tPreludeBasic 6280003 6280028 3 (-1)
      "<="
      Prelude.False
(++%!=%=+%!=$@>)
  = T.mkVariable tPreludeBasic 6300003 6300028 3 (-1)
      ">"
      Prelude.False
(++$>=%=+$>=$@>=)
  = T.mkVariable tPreludeBasic 6290003 6290028 3 (-1)
      ">="
      Prelude.False
c637v2v637v41abs
  = T.mkVariable tPreludeBasic 6370002 6370041 3 (-1)
      "abs"
      Prelude.False
c642v2v642v18fromInteger
  = T.mkVariable tPreludeBasic 6420002 6420018 3 (-1)
      "fromInteger"
      Prelude.False
c636v2v636v28negate
  = T.mkVariable tPreludeBasic 6360002 6360028 3 (-1)
      "negate"
      Prelude.False
c638v2v642v0signum
  = T.mkVariable tPreludeBasic 6380002 6420000 3 (-1)
      "signum"
      Prelude.False
(++%*=$=+%*=%!*)
  = T.mkVariable tPreludeBasic 6350002 6350030 3 (-1)
      "*"
      Prelude.False
(++%%=$=+%%=%!+)
  = T.mkVariable tPreludeBasic 6330002 6330030 3 (-1)
      "+"
      Prelude.False
(++%&=$=+%&=%!-)
  = T.mkVariable tPreludeBasic 6340002 6340030 3 (-1)
      "-"
      Prelude.False
c645v5v645v24toRational
  = T.mkVariable tPreludeBasic 6450005 6450024 3 (-1)
      "toRational"
      Prelude.False
c650v5v650v36div
  = T.mkVariable tPreludeBasic 6500005 6500036 3 (-1)
      "div"
      Prelude.False
c651v5v651v36mod
  = T.mkVariable tPreludeBasic 6510005 6510036 3 (-1)
      "mod"
      Prelude.False
c648v5v648v39quot
  = T.mkVariable tPreludeBasic 6480005 6480039 3 (-1)
      "quot"
      Prelude.False
c653v5v653v42quotRem
  = T.mkVariable tPreludeBasic 6530005 6530042 3 (-1)
      "quotRem"
      Prelude.False
c649v5v649v38rem
  = T.mkVariable tPreludeBasic 6490005 6490038 3 (-1)
      "rem"
      Prelude.False
c655v5v655v21toInteger
  = T.mkVariable tPreludeBasic 6550005 6550021 3 (-1)
      "toInteger"
      Prelude.False
c667v9v667v16d
  = T.mkVariable tPreludeBasic 6670009 6670016 3 (0)
      "d"
      Prelude.True
c663v3v663v25enumFrom
  = T.mkVariable tPreludeBasic 6630003 6630025 3 (-1)
      "enumFrom"
      Prelude.False
c664v3v664v41enumFromThen
  = T.mkVariable tPreludeBasic 6640003 6640041 3 (-1)
      "enumFromThen"
      Prelude.False
c666v3v669v57enumFromThenTo
  = T.mkVariable tPreludeBasic 6660003 6690057 3 (-1)
      "enumFromThenTo"
      Prelude.False
c665v3v665v52enumFromTo
  = T.mkVariable tPreludeBasic 6650003 6650052 3 (-1)
      "enumFromTo"
      Prelude.False
c661v3v661v28fromEnum
  = T.mkVariable tPreludeBasic 6610003 6610028 3 (-1)
      "fromEnum"
      Prelude.False
c659v3v659v18pred
  = T.mkVariable tPreludeBasic 6590003 6590018 3 (-1)
      "pred"
      Prelude.False
c658v3v658v18succ
  = T.mkVariable tPreludeBasic 6580003 6580018 3 (-1)
      "succ"
      Prelude.False
c660v3v660v26toEnum
  = T.mkVariable tPreludeBasic 6600003 6600026 3 (-1)
      "toEnum"
      Prelude.False
(++^+=%=+^+=$+/=)
  = T.mkVariable tPreludeBasic 6760003 6760026 3 (-1)
      "/="
      Prelude.False
(++^*=%=+^*=$+==)
  = T.mkVariable tPreludeBasic 6750003 6750026 3 (-1)
      "=="
      Prelude.False
(++^>=%=+^>=$+<)
  = T.mkVariable tPreludeBasic 6790003 6790026 3 (-1)
      "<"
      Prelude.False
(++@!=%=+@!=$+<=)
  = T.mkVariable tPreludeBasic 6800003 6800026 3 (-1)
      "<="
      Prelude.False
(++@$=%=+@$=$+>)
  = T.mkVariable tPreludeBasic 6820003 6820026 3 (-1)
      ">"
      Prelude.False
(++@#=%=+@#=$+>=)
  = T.mkVariable tPreludeBasic 6810003 6810026 3 (-1)
      ">="
      Prelude.False
c689v2v689v26abs
  = T.mkVariable tPreludeBasic 6890002 6890026 3 (-1)
      "abs"
      Prelude.False
c691v2v691v39fromInteger
  = T.mkVariable tPreludeBasic 6910002 6910039 3 (-1)
      "fromInteger"
      Prelude.False
c688v2v688v17negate
  = T.mkVariable tPreludeBasic 6880002 6880017 3 (-1)
      "negate"
      Prelude.False
c690v2v690v29signum
  = T.mkVariable tPreludeBasic 6900002 6900029 3 (-1)
      "signum"
      Prelude.False
(++@^=$=+@^=$@*)
  = T.mkVariable tPreludeBasic 6870002 6870028 3 (-1)
      "*"
      Prelude.False
(++@*=$=+@*=$@+)
  = T.mkVariable tPreludeBasic 6850002 6850028 3 (-1)
      "+"
      Prelude.False
(++@+=$=+@+=$@-)
  = T.mkVariable tPreludeBasic 6860002 6860028 3 (-1)
      "-"
      Prelude.False
c695v31v695v52bf
  = T.mkVariable tPreludeBasic 6950031 6950052 3 (0)
      "bf"
      Prelude.True
c694v5v695v29toRational
  = T.mkVariable tPreludeBasic 6940005 6950029 3 (-1)
      "toRational"
      Prelude.False
c706v13v707v78ef
  = T.mkVariable tPreludeBasic 7060013 7070078 3 (0)
      "ef"
      Prelude.True
c701v13v702v24ff
  = T.mkVariable tPreludeBasic 7010013 7020024 3 (1)
      "ff"
      Prelude.True
c700v13v700v25x0
  = T.mkVariable tPreludeBasic 7000013 7000025 3 (0)
      "x0"
      Prelude.True
c705v26v705v48bf
  = T.mkVariable tPreludeBasic 7050026 7050048 3 (0)
      "bf"
      Prelude.True
c704v26v704v49ef'
  = T.mkVariable tPreludeBasic 7040026 7040049 3 (0)
      "ef'"
      Prelude.True
c703v26v703v78yf
  = T.mkVariable tPreludeBasic 7030026 7030078 3 (0)
      "yf"
      Prelude.True
c699v3v700v11fromRational
  = T.mkVariable tPreludeBasic 6990003 7000011 3 (-1)
      "fromRational"
      Prelude.False
(++>@=%=+>@=$+/)
  = T.mkVariable tPreludeBasic 6980003 6980026 3 (-1)
      "/"
      Prelude.False
c722v49v722v58af
  = T.mkVariable tPreludeBasic 7220049 7220058 3 (0)
      "af"
      Prelude.True
c722v62v722v74bf
  = T.mkVariable tPreludeBasic 7220062 7220074 3 (0)
      "bf"
      Prelude.True
c718v5v718v42acos
  = T.mkVariable tPreludeBasic 7180005 7180042 3 (-1)
      "acos"
      Prelude.False
c724v5v724v50acosh
  = T.mkVariable tPreludeBasic 7240005 7240050 3 (-1)
      "acosh"
      Prelude.False
c717v5v717v42asin
  = T.mkVariable tPreludeBasic 7170005 7170042 3 (-1)
      "asin"
      Prelude.False
c723v5v723v36asinh
  = T.mkVariable tPreludeBasic 7230005 7230036 3 (-1)
      "asinh"
      Prelude.False
c719v5v719v42atan
  = T.mkVariable tPreludeBasic 7190005 7190042 3 (-1)
      "atan"
      Prelude.False
c725v5v725v42atanh
  = T.mkVariable tPreludeBasic 7250005 7250042 3 (-1)
      "atanh"
      Prelude.False
c715v5v715v41cos
  = T.mkVariable tPreludeBasic 7150005 7150041 3 (-1)
      "cos"
      Prelude.False
c721v5v721v51cosh
  = T.mkVariable tPreludeBasic 7210005 7210051 3 (-1)
      "cosh"
      Prelude.False
c711v5v711v41exp
  = T.mkVariable tPreludeBasic 7110005 7110041 3 (-1)
      "exp"
      Prelude.False
c712v5v712v41log
  = T.mkVariable tPreludeBasic 7120005 7120041 3 (-1)
      "log"
      Prelude.False
c710v5v710v38pi
  = T.mkVariable tPreludeBasic 7100005 7100038 3 (-1)
      "pi"
      Prelude.False
c714v5v714v41sin
  = T.mkVariable tPreludeBasic 7140005 7140041 3 (-1)
      "sin"
      Prelude.False
c720v5v720v51sinh
  = T.mkVariable tPreludeBasic 7200005 7200051 3 (-1)
      "sinh"
      Prelude.False
c713v5v713v42sqrt
  = T.mkVariable tPreludeBasic 7130005 7130042 3 (-1)
      "sqrt"
      Prelude.False
c716v5v716v41tan
  = T.mkVariable tPreludeBasic 7160005 7160041 3 (-1)
      "tan"
      Prelude.False
c722v5v722v47tanh
  = T.mkVariable tPreludeBasic 7220005 7220047 3 (-1)
      "tanh"
      Prelude.False
c728v5v736v0properFraction
  = T.mkVariable tPreludeBasic 7280005 7360000 3 (-1)
      "properFraction"
      Prelude.False
c740v5v740v37decodeFloat
  = T.mkVariable tPreludeBasic 7400005 7400037 3 (-1)
      "decodeFloat"
      Prelude.False
c741v5v741v41encodeFloat
  = T.mkVariable tPreludeBasic 7410005 7410041 3 (-1)
      "encodeFloat"
      Prelude.False
c738v5v738v35floatDigits
  = T.mkVariable tPreludeBasic 7380005 7380035 3 (-1)
      "floatDigits"
      Prelude.False
c737v5v737v34floatRadix
  = T.mkVariable tPreludeBasic 7370005 7370034 3 (-1)
      "floatRadix"
      Prelude.False
c739v5v739v34floatRange
  = T.mkVariable tPreludeBasic 7390005 7390034 3 (-1)
      "floatRange"
      Prelude.False
c745v5v745v44isDenormalized
  = T.mkVariable tPreludeBasic 7450005 7450044 3 (-1)
      "isDenormalized"
      Prelude.False
c747v5v747v36isIEEE
  = T.mkVariable tPreludeBasic 7470005 7470036 3 (-1)
      "isIEEE"
      Prelude.False
c744v5v744v40isInfinite
  = T.mkVariable tPreludeBasic 7440005 7440040 3 (-1)
      "isInfinite"
      Prelude.False
c743v5v743v35isNaN
  = T.mkVariable tPreludeBasic 7430005 7430035 3 (-1)
      "isNaN"
      Prelude.False
c746v5v746v44isNegativeZero
  = T.mkVariable tPreludeBasic 7460005 7460044 3 (-1)
      "isNegativeZero"
      Prelude.False
(+^*&=%=^*&=$^/=)
  = T.mkVariable tPreludeBasic 7540003 7540027 3 (-1)
      "/="
      Prelude.False
(+^*%=%=^*%=$^==)
  = T.mkVariable tPreludeBasic 7530003 7530027 3 (-1)
      "=="
      Prelude.False
(+^*^=%=^*^=$^<)
  = T.mkVariable tPreludeBasic 7570003 7570027 3 (-1)
      "<"
      Prelude.False
(+^*@=%=^*@=$^<=)
  = T.mkVariable tPreludeBasic 7580003 7580027 3 (-1)
      "<="
      Prelude.False
(+^+!=%=^+!=$^>)
  = T.mkVariable tPreludeBasic 7600003 7600027 3 (-1)
      ">"
      Prelude.False
(+^*>=%=^*>=$^>=)
  = T.mkVariable tPreludeBasic 7590003 7590027 3 (-1)
      ">="
      Prelude.False
c767v2v767v27abs
  = T.mkVariable tPreludeBasic 7670002 7670027 3 (-1)
      "abs"
      Prelude.False
c769v2v769v40fromInteger
  = T.mkVariable tPreludeBasic 7690002 7690040 3 (-1)
      "fromInteger"
      Prelude.False
c766v2v766v19negate
  = T.mkVariable tPreludeBasic 7660002 7660019 3 (-1)
      "negate"
      Prelude.False
c768v2v768v30signum
  = T.mkVariable tPreludeBasic 7680002 7680030 3 (-1)
      "signum"
      Prelude.False
(+^+*=$=^+*=$>*)
  = T.mkVariable tPreludeBasic 7650002 7650029 3 (-1)
      "*"
      Prelude.False
(+^+%=$=^+%=$>+)
  = T.mkVariable tPreludeBasic 7630002 7630029 3 (-1)
      "+"
      Prelude.False
(+^+&=$=^+&=$>-)
  = T.mkVariable tPreludeBasic 7640002 7640029 3 (-1)
      "-"
      Prelude.False
c773v31v773v51b
  = T.mkVariable tPreludeBasic 7730031 7730051 3 (0)
      "b"
      Prelude.True
c772v5v773v29toRational
  = T.mkVariable tPreludeBasic 7720005 7730029 3 (-1)
      "toRational"
      Prelude.False
c783v11v784v79e
  = T.mkVariable tPreludeBasic 7830011 7840079 3 (0)
      "e"
      Prelude.True
c778v11v782v48f
  = T.mkVariable tPreludeBasic 7780011 7820048 3 (1)
      "f"
      Prelude.True
c785v11v785v20x'
  = T.mkVariable tPreludeBasic 7850011 7850020 3 (0)
      "x'"
      Prelude.True
c781v22v781v39bd
  = T.mkVariable tPreludeBasic 7810022 7810039 3 (0)
      "bd"
      Prelude.True
c780v22v780v45e'
  = T.mkVariable tPreludeBasic 7800022 7800045 3 (0)
      "e'"
      Prelude.True
c779v22v779v69y
  = T.mkVariable tPreludeBasic 7790022 7790069 3 (0)
      "y"
      Prelude.True
c777v3v786v11fromRational
  = T.mkVariable tPreludeBasic 7770003 7860011 3 (-1)
      "fromRational"
      Prelude.False
(+^^+=%=^^+=$^/)
  = T.mkVariable tPreludeBasic 7760003 7760027 3 (-1)
      "/"
      Prelude.False
c802v45v802v53a
  = T.mkVariable tPreludeBasic 8020045 8020053 3 (0)
      "a"
      Prelude.True
c802v57v802v68b
  = T.mkVariable tPreludeBasic 8020057 8020068 3 (0)
      "b"
      Prelude.True
c798v5v798v43acos
  = T.mkVariable tPreludeBasic 7980005 7980043 3 (-1)
      "acos"
      Prelude.False
c804v5v804v50acosh
  = T.mkVariable tPreludeBasic 8040005 8040050 3 (-1)
      "acosh"
      Prelude.False
c797v5v797v43asin
  = T.mkVariable tPreludeBasic 7970005 7970043 3 (-1)
      "asin"
      Prelude.False
c803v5v803v36asinh
  = T.mkVariable tPreludeBasic 8030005 8030036 3 (-1)
      "asinh"
      Prelude.False
c799v5v799v43atan
  = T.mkVariable tPreludeBasic 7990005 7990043 3 (-1)
      "atan"
      Prelude.False
c805v5v805v42atanh
  = T.mkVariable tPreludeBasic 8050005 8050042 3 (-1)
      "atanh"
      Prelude.False
c795v5v795v42cos
  = T.mkVariable tPreludeBasic 7950005 7950042 3 (-1)
      "cos"
      Prelude.False
c801v5v801v65cosh
  = T.mkVariable tPreludeBasic 8010005 8010065 3 (-1)
      "cosh"
      Prelude.False
c791v5v791v42exp
  = T.mkVariable tPreludeBasic 7910005 7910042 3 (-1)
      "exp"
      Prelude.False
c792v5v792v42log
  = T.mkVariable tPreludeBasic 7920005 7920042 3 (-1)
      "log"
      Prelude.False
c790v5v790v39pi
  = T.mkVariable tPreludeBasic 7900005 7900039 3 (-1)
      "pi"
      Prelude.False
c794v5v794v42sin
  = T.mkVariable tPreludeBasic 7940005 7940042 3 (-1)
      "sin"
      Prelude.False
c800v5v800v65sinh
  = T.mkVariable tPreludeBasic 8000005 8000065 3 (-1)
      "sinh"
      Prelude.False
c793v5v793v43sqrt
  = T.mkVariable tPreludeBasic 7930005 7930043 3 (-1)
      "sqrt"
      Prelude.False
c796v5v796v42tan
  = T.mkVariable tPreludeBasic 7960005 7960042 3 (-1)
      "tan"
      Prelude.False
c802v5v802v43tanh
  = T.mkVariable tPreludeBasic 8020005 8020043 3 (-1)
      "tanh"
      Prelude.False
c808v5v817v0properFraction
  = T.mkVariable tPreludeBasic 8080005 8170000 3 (-1)
      "properFraction"
      Prelude.False
c821v5v821v38decodeFloat
  = T.mkVariable tPreludeBasic 8210005 8210038 3 (-1)
      "decodeFloat"
      Prelude.False
c822v5v822v42encodeFloat
  = T.mkVariable tPreludeBasic 8220005 8220042 3 (-1)
      "encodeFloat"
      Prelude.False
c819v5v819v36floatDigits
  = T.mkVariable tPreludeBasic 8190005 8190036 3 (-1)
      "floatDigits"
      Prelude.False
c818v5v818v35floatRadix
  = T.mkVariable tPreludeBasic 8180005 8180035 3 (-1)
      "floatRadix"
      Prelude.False
c820v5v820v35floatRange
  = T.mkVariable tPreludeBasic 8200005 8200035 3 (-1)
      "floatRange"
      Prelude.False
c826v5v826v45isDenormalized
  = T.mkVariable tPreludeBasic 8260005 8260045 3 (-1)
      "isDenormalized"
      Prelude.False
c828v5v828v37isIEEE
  = T.mkVariable tPreludeBasic 8280005 8280037 3 (-1)
      "isIEEE"
      Prelude.False
c825v5v825v41isInfinite
  = T.mkVariable tPreludeBasic 8250005 8250041 3 (-1)
      "isInfinite"
      Prelude.False
c824v5v824v36isNaN
  = T.mkVariable tPreludeBasic 8240005 8240036 3 (-1)
      "isNaN"
      Prelude.False
c827v5v827v45isNegativeZero
  = T.mkVariable tPreludeBasic 8270005 8270045 3 (-1)
      "isNegativeZero"
      Prelude.False
c843v5v843v39enumFrom
  = T.mkVariable tPreludeBasic 8430005 8430039 3 (-1)
      "enumFrom"
      Prelude.False
c844v5v844v43enumFromThen
  = T.mkVariable tPreludeBasic 8440005 8440043 3 (-1)
      "enumFromThen"
      Prelude.False
c846v5v846v45enumFromThenTo
  = T.mkVariable tPreludeBasic 8460005 8460045 3 (-1)
      "enumFromThenTo"
      Prelude.False
c845v5v845v41enumFromTo
  = T.mkVariable tPreludeBasic 8450005 8450041 3 (-1)
      "enumFromTo"
      Prelude.False
c842v5v842v46fromEnum
  = T.mkVariable tPreludeBasic 8420005 8420046 3 (-1)
      "fromEnum"
      Prelude.False
c840v5v840v27pred
  = T.mkVariable tPreludeBasic 8400005 8400027 3 (-1)
      "pred"
      Prelude.False
c839v5v839v27succ
  = T.mkVariable tPreludeBasic 8390005 8390027 3 (-1)
      "succ"
      Prelude.False
c841v5v841v36toEnum
  = T.mkVariable tPreludeBasic 8410005 8410036 3 (-1)
      "toEnum"
      Prelude.False
c854v5v854v39enumFrom
  = T.mkVariable tPreludeBasic 8540005 8540039 3 (-1)
      "enumFrom"
      Prelude.False
c855v5v855v43enumFromThen
  = T.mkVariable tPreludeBasic 8550005 8550043 3 (-1)
      "enumFromThen"
      Prelude.False
c857v5v857v45enumFromThenTo
  = T.mkVariable tPreludeBasic 8570005 8570045 3 (-1)
      "enumFromThenTo"
      Prelude.False
c856v5v856v41enumFromTo
  = T.mkVariable tPreludeBasic 8560005 8560041 3 (-1)
      "enumFromTo"
      Prelude.False
c853v5v853v46fromEnum
  = T.mkVariable tPreludeBasic 8530005 8530046 3 (-1)
      "fromEnum"
      Prelude.False
c851v5v851v27pred
  = T.mkVariable tPreludeBasic 8510005 8510027 3 (-1)
      "pred"
      Prelude.False
c850v5v850v27succ
  = T.mkVariable tPreludeBasic 8500005 8500027 3 (-1)
      "succ"
      Prelude.False
c852v5v852v36toEnum
  = T.mkVariable tPreludeBasic 8520005 8520036 3 (-1)
      "toEnum"
      Prelude.False
c872v32v873v64p
  = T.mkVariable tPreludeBasic 8720032 8730064 3 (0)
      "p"
      Prelude.True
(+@@%=%=@@*=$+==)
  = T.mkVariable tPreludeBasic 8830003 8850026 3 (-1)
      "=="
      Prelude.False
c888v3v898v0compare
  = T.mkVariable tPreludeBasic 8880003 8980000 3 (-1)
      "compare"
      Prelude.False
c899v5v899v14fmap
  = T.mkVariable tPreludeBasic 8990005 8990014 3 (-1)
      "fmap"
      Prelude.False
c905v5v905v25fail
  = T.mkVariable tPreludeBasic 9050005 9050025 3 (-1)
      "fail"
      Prelude.False
c904v5v904v26return
  = T.mkVariable tPreludeBasic 9040005 9040026 3 (-1)
      "return"
      Prelude.False
(+>!%=*=>!%=%>>>=)
  = T.mkVariable tPreludeBasic 9030005 9030039 3 (-1)
      ">>="
      Prelude.False
(+>#+=%=>#+=%>==)
  = T.mkVariable tPreludeBasic 9160003 9160039 3 (-1)
      "=="
      Prelude.False
c919v3v925v0compare
  = T.mkVariable tPreludeBasic 9190003 9250000 3 (-1)
      "compare"
      Prelude.False
c927v3v927v33maxBound
  = T.mkVariable tPreludeBasic 9270003 9270033 3 (-1)
      "maxBound"
      Prelude.False
c926v3v926v33minBound
  = T.mkVariable tPreludeBasic 9260003 9260033 3 (-1)
      "minBound"
      Prelude.False
(+>%#=%=>%#=**==)
  = T.mkVariable tPreludeBasic 9310003 9310055 3 (-1)
      "=="
      Prelude.False
c934v3v941v0compare
  = T.mkVariable tPreludeBasic 9340003 9410000 3 (-1)
      "compare"
      Prelude.False
c943v3v943v41maxBound
  = T.mkVariable tPreludeBasic 9430003 9430041 3 (-1)
      "maxBound"
      Prelude.False
c942v3v942v41minBound
  = T.mkVariable tPreludeBasic 9420003 9420041 3 (-1)
      "minBound"
      Prelude.False
(+>&^=%=>&^=^#==)
  = T.mkVariable tPreludeBasic 9470003 9470071 3 (-1)
      "=="
      Prelude.False
c950v3v959v0compare
  = T.mkVariable tPreludeBasic 9500003 9590000 3 (-1)
      "compare"
      Prelude.False
c961v3v961v50maxBound
  = T.mkVariable tPreludeBasic 9610003 9610050 3 (-1)
      "maxBound"
      Prelude.False
c960v3v960v50minBound
  = T.mkVariable tPreludeBasic 9600003 9600050 3 (-1)
      "minBound"
      Prelude.False
(+>+*=%=>++=**==)
  = T.mkVariable tPreludeBasic 9650003 9660055 3 (-1)
      "=="
      Prelude.False
c969v3v980v0compare
  = T.mkVariable tPreludeBasic 9690003 9800000 3 (-1)
      "compare"
      Prelude.False
c983v3v983v59maxBound
  = T.mkVariable tPreludeBasic 9830003 9830059 3 (-1)
      "maxBound"
      Prelude.False
c982v3v982v59minBound
  = T.mkVariable tPreludeBasic 9820003 9820059 3 (-1)
      "minBound"
      Prelude.False
(+>@^=%=>@@=++==)
  = T.mkVariable tPreludeBasic 9870003 9880066 3 (-1)
      "=="
      Prelude.False
c991v3v1004v0compare
  = T.mkVariable tPreludeBasic 9910003 10040000 3 (-1)
      "compare"
      Prelude.False
c1007v3v1007v68maxBound
  = T.mkVariable tPreludeBasic 10070003 10070068 3 (-1)
      "maxBound"
      Prelude.False
c1006v3v1006v68minBound
  = T.mkVariable tPreludeBasic 10060003 10060068 3 (-1)
      "minBound"
      Prelude.False
(+#!##=%=#!#$=^^==)
  = T.mkVariable tPreludeBasic 10110003 10120077 3 (-1)
      "=="
      Prelude.False
c1016v3v1031v0compare
  = T.mkVariable tPreludeBasic 10160003 10310000 3 (-1)
      "compare"
      Prelude.False
c1035v3v1035v77maxBound
  = T.mkVariable tPreludeBasic 10350003 10350077 3 (-1)
      "maxBound"
      Prelude.False
c1034v3v1034v77minBound
  = T.mkVariable tPreludeBasic 10340003 10340077 3 (-1)
      "minBound"
      Prelude.False
(+#!&!=%=#!&$=#&==)
  = T.mkVariable tPreludeBasic 10400003 10420014 3 (-1)
      "=="
      Prelude.False
c1046v3v1062v0compare
  = T.mkVariable tPreludeBasic 10460003 10620000 3 (-1)
      "compare"
      Prelude.False
c1067v3v1068v23maxBound
  = T.mkVariable tPreludeBasic 10670003 10680023 3 (-1)
      "maxBound"
      Prelude.False
c1065v3v1066v23minBound
  = T.mkVariable tPreludeBasic 10650003 10660023 3 (-1)
      "minBound"
      Prelude.False
(+#!^$=%=#!^&=$*==)
  = T.mkVariable tPreludeBasic 10720003 10740025 3 (-1)
      "=="
      Prelude.False
c1078v3v1096v0compare
  = T.mkVariable tPreludeBasic 10780003 10960000 3 (-1)
      "compare"
      Prelude.False
c1101v3v1102v32maxBound
  = T.mkVariable tPreludeBasic 11010003 11020032 3 (-1)
      "maxBound"
      Prelude.False
c1099v3v1100v32minBound
  = T.mkVariable tPreludeBasic 10990003 11000032 3 (-1)
      "minBound"
      Prelude.False
(+##!^=%=##!>=%+==)
  = T.mkVariable tPreludeBasic 11070003 11090036 3 (-1)
      "=="
      Prelude.False
c1113v3v1133v0compare
  = T.mkVariable tPreludeBasic 11130003 11330000 3 (-1)
      "compare"
      Prelude.False
c1138v3v1139v41maxBound
  = T.mkVariable tPreludeBasic 11380003 11390041 3 (-1)
      "maxBound"
      Prelude.False
c1136v3v1137v41minBound
  = T.mkVariable tPreludeBasic 11360003 11370041 3 (-1)
      "minBound"
      Prelude.False
(+##&&=%=##&+=&^==)
  = T.mkVariable tPreludeBasic 11440003 11460047 3 (-1)
      "=="
      Prelude.False
c1150v3v1172v0compare
  = T.mkVariable tPreludeBasic 11500003 11720000 3 (-1)
      "compare"
      Prelude.False
c1177v3v1178v50maxBound
  = T.mkVariable tPreludeBasic 11770003 11780050 3 (-1)
      "maxBound"
      Prelude.False
c1175v3v1176v50minBound
  = T.mkVariable tPreludeBasic 11750003 11760050 3 (-1)
      "minBound"
      Prelude.False
(+##@%=%=##@*=*@==)
  = T.mkVariable tPreludeBasic 11830003 11850058 3 (-1)
      "=="
      Prelude.False
c1190v3v1214v0compare
  = T.mkVariable tPreludeBasic 11900003 12140000 3 (-1)
      "compare"
      Prelude.False
c1219v3v1220v59maxBound
  = T.mkVariable tPreludeBasic 12190003 12200059 3 (-1)
      "maxBound"
      Prelude.False
c1217v3v1218v59minBound
  = T.mkVariable tPreludeBasic 12170003 12180059 3 (-1)
      "minBound"
      Prelude.False
(+#$$*=%=#$$^=+>==)
  = T.mkVariable tPreludeBasic 12250003 12270069 3 (-1)
      "=="
      Prelude.False
c1232v3v1259v0compare
  = T.mkVariable tPreludeBasic 12320003 12590000 3 (-1)
      "compare"
      Prelude.False
c1265v3v1266v68maxBound
  = T.mkVariable tPreludeBasic 12650003 12660068 3 (-1)
      "maxBound"
      Prelude.False
c1263v3v1264v68minBound
  = T.mkVariable tPreludeBasic 12630003 12640068 3 (-1)
      "minBound"
      Prelude.False
(+#$^#=%=#$^*=#&==)
  = T.mkVariable tPreludeBasic 12710003 12750014 3 (-1)
      "=="
      Prelude.False
c1280v3v1309v0compare
  = T.mkVariable tPreludeBasic 12800003 13090000 3 (-1)
      "compare"
      Prelude.False
c1315v3v1316v77maxBound
  = T.mkVariable tPreludeBasic 13150003 13160077 3 (-1)
      "maxBound"
      Prelude.False
c1313v3v1314v77minBound
  = T.mkVariable tPreludeBasic 13130003 13140077 3 (-1)
      "minBound"
      Prelude.False
(+#%$$=%=#%$+=$*==)
  = T.mkVariable tPreludeBasic 13220003 13260025 3 (-1)
      "=="
      Prelude.False
c1331v3v1362v0compare
  = T.mkVariable tPreludeBasic 13310003 13620000 3 (-1)
      "compare"
      Prelude.False
c1369v3v1371v23maxBound
  = T.mkVariable tPreludeBasic 13690003 13710023 3 (-1)
      "maxBound"
      Prelude.False
c1366v3v1368v23minBound
  = T.mkVariable tPreludeBasic 13660003 13680023 3 (-1)
      "minBound"
      Prelude.False
c1574v28v1574v51q
  = T.mkVariable tPreludeBasic 15740028 15740051 3 (0)
      "q"
      Prelude.True
c1574v28v1574v51qs
  = T.mkVariable tPreludeBasic 15740028 15740051 3 (0)
      "qs"
      Prelude.True
c1581v26v1581v47q
  = T.mkVariable tPreludeBasic 15810026 15810047 3 (0)
      "q"
      Prelude.True
c1581v26v1581v47qs
  = T.mkVariable tPreludeBasic 15810026 15810047 3 (0)
      "qs"
      Prelude.True
c1592v30v1592v38xs
  = T.mkVariable tPreludeBasic 15920030 15920038 3 (0)
      "xs"
      Prelude.True
c1606v31v1606v45xs'
  = T.mkVariable tPreludeBasic 16060031 16060045 3 (0)
      "xs'"
      Prelude.True
c1654v34v1654v53ys
  = T.mkVariable tPreludeBasic 16540034 16540053 3 (0)
      "ys"
      Prelude.True
c1654v34v1654v53zs
  = T.mkVariable tPreludeBasic 16540034 16540053 3 (0)
      "zs"
      Prelude.True
c1668v25v1668v51l
  = T.mkVariable tPreludeBasic 16680025 16680051 3 (0)
      "l"
      Prelude.True
c1668v25v1668v51s'
  = T.mkVariable tPreludeBasic 16680025 16680051 3 (0)
      "s'"
      Prelude.True
c1678v35v1678v61s''
  = T.mkVariable tPreludeBasic 16780035 16780061 3 (0)
      "s''"
      Prelude.True
c1678v35v1678v61w
  = T.mkVariable tPreludeBasic 16780035 16780061 3 (0)
      "w"
      Prelude.True
c1812v30v1814v73readl
  = T.mkVariable tPreludeBasic 18120030 18140073 3 (1)
      "readl"
      Prelude.True
c1815v30v1818v73readl'
  = T.mkVariable tPreludeBasic 18150030 18180073 3 (1)
      "readl'"
      Prelude.True
c1834v31v1836v53showl
  = T.mkVariable tPreludeBasic 18340031 18360053 3 (1)
      "showl"
      Prelude.True
c1868v27v1870v70mandatory
  = T.mkVariable tPreludeBasic 18680027 18700070 3 (1)
      "mandatory"
      Prelude.True
c1867v27v1867v58optional
  = T.mkVariable tPreludeBasic 18670027 18670058 3 (1)
      "optional"
      Prelude.True
c1892v21v1897v58lexStrItem
  = T.mkVariable tPreludeBasic 18920021 18970058 3 (1)
      "lexStrItem"
      Prelude.True
c1887v21v1890v68lexString
  = T.mkVariable tPreludeBasic 18870021 18900068 3 (1)
      "lexString"
      Prelude.True
c1908v15v1908v57isIdChar
  = T.mkVariable tPreludeBasic 19080015 19080057 3 (1)
      "isIdChar"
      Prelude.True
c1906v15v1906v49isSingle
  = T.mkVariable tPreludeBasic 19060015 19060049 3 (1)
      "isSingle"
      Prelude.True
c1907v15v1907v60isSym
  = T.mkVariable tPreludeBasic 19070015 19070060 3 (1)
      "isSym"
      Prelude.True
c1915v15v1919v33lexExp
  = T.mkVariable tPreludeBasic 19150015 19190033 3 (1)
      "lexExp"
      Prelude.True
c1910v15v1913v38lexFracExp
  = T.mkVariable tPreludeBasic 19100015 19130038 3 (1)
      "lexFracExp"
      Prelude.True
c1923v5v1923v41showsPrec
  = T.mkVariable tPreludeBasic 19230005 19230041 3 (-1)
      "showsPrec"
      Prelude.False
c1929v3v1929v63readsPrec
  = T.mkVariable tPreludeBasic 19290003 19290063 3 (-1)
      "readsPrec"
      Prelude.False
c1935v5v1935v44showsPrec
  = T.mkVariable tPreludeBasic 19350005 19350044 3 (-1)
      "showsPrec"
      Prelude.False
c1939v5v1939v44readsPrec
  = T.mkVariable tPreludeBasic 19390005 19390044 3 (-1)
      "readsPrec"
      Prelude.False
c1943v5v1943v35showsPrec
  = T.mkVariable tPreludeBasic 19430005 19430035 3 (-1)
      "showsPrec"
      Prelude.False
c1947v5v1947v46readsPrec
  = T.mkVariable tPreludeBasic 19470005 19470046 3 (-1)
      "readsPrec"
      Prelude.False
c1951v5v1951v35showsPrec
  = T.mkVariable tPreludeBasic 19510005 19510035 3 (-1)
      "showsPrec"
      Prelude.False
c1955v5v1955v46readsPrec
  = T.mkVariable tPreludeBasic 19550005 19550046 3 (-1)
      "readsPrec"
      Prelude.False
c1959v5v1959v36showsPrec
  = T.mkVariable tPreludeBasic 19590005 19590036 3 (-1)
      "showsPrec"
      Prelude.False
c1963v5v1965v65readsPrec
  = T.mkVariable tPreludeBasic 19630005 19650065 3 (-1)
      "readsPrec"
      Prelude.False
c1972v24v1974v64showl
  = T.mkVariable tPreludeBasic 19720024 19740064 3 (1)
      "showl"
      Prelude.True
c1971v5v1972v22showList
  = T.mkVariable tPreludeBasic 19710005 19720022 3 (-1)
      "showList"
      Prelude.False
c1968v5v1969v68showsPrec
  = T.mkVariable tPreludeBasic 19680005 19690068 3 (-1)
      "showsPrec"
      Prelude.False
c1984v15v1987v72readl
  = T.mkVariable tPreludeBasic 19840015 19870072 3 (1)
      "readl"
      Prelude.True
c1982v5v1984v13readList
  = T.mkVariable tPreludeBasic 19820005 19840013 3 (-1)
      "readList"
      Prelude.False
c1978v5v1980v72readsPrec
  = T.mkVariable tPreludeBasic 19780005 19800072 3 (-1)
      "readsPrec"
      Prelude.False
c1991v5v1991v31showsPrec
  = T.mkVariable tPreludeBasic 19910005 19910031 3 (-1)
      "showsPrec"
      Prelude.False
c1995v5v1995v31readsPrec
  = T.mkVariable tPreludeBasic 19950005 19950031 3 (-1)
      "readsPrec"
      Prelude.False
c2001v5v2002v61showsPrec
  = T.mkVariable tPreludeBasic 20010005 20020061 3 (-1)
      "showsPrec"
      Prelude.False
c2006v5v2011v69readsPrec
  = T.mkVariable tPreludeBasic 20060005 20110069 3 (-1)
      "readsPrec"
      Prelude.False
c2015v5v2023v62readsPrec
  = T.mkVariable tPreludeBasic 20150005 20230062 3 (-1)
      "readsPrec"
      Prelude.False
c2026v5v2036v62readsPrec
  = T.mkVariable tPreludeBasic 20260005 20360062 3 (-1)
      "readsPrec"
      Prelude.False
c2039v5v2051v62readsPrec
  = T.mkVariable tPreludeBasic 20390005 20510062 3 (-1)
      "readsPrec"
      Prelude.False
c2055v5v2069v62readsPrec
  = T.mkVariable tPreludeBasic 20550005 20690062 3 (-1)
      "readsPrec"
      Prelude.False
c2073v5v2089v62readsPrec
  = T.mkVariable tPreludeBasic 20730005 20890062 3 (-1)
      "readsPrec"
      Prelude.False
c2094v5v2112v62readsPrec
  = T.mkVariable tPreludeBasic 20940005 21120062 3 (-1)
      "readsPrec"
      Prelude.False
c2117v5v2137v62readsPrec
  = T.mkVariable tPreludeBasic 21170005 21370062 3 (-1)
      "readsPrec"
      Prelude.False
c2142v5v2164v63readsPrec
  = T.mkVariable tPreludeBasic 21420005 21640063 3 (-1)
      "readsPrec"
      Prelude.False
c2169v5v2193v63readsPrec
  = T.mkVariable tPreludeBasic 21690005 21930063 3 (-1)
      "readsPrec"
      Prelude.False
c2198v5v2224v63readsPrec
  = T.mkVariable tPreludeBasic 21980005 22240063 3 (-1)
      "readsPrec"
      Prelude.False
c2229v5v2257v63readsPrec
  = T.mkVariable tPreludeBasic 22290005 22570063 3 (-1)
      "readsPrec"
      Prelude.False
c2262v5v2293v63readsPrec
  = T.mkVariable tPreludeBasic 22620005 22930063 3 (-1)
      "readsPrec"
      Prelude.False
c2298v5v2331v63readsPrec
  = T.mkVariable tPreludeBasic 22980005 23310063 3 (-1)
      "readsPrec"
      Prelude.False
c2335v5v2337v63showsPrec
  = T.mkVariable tPreludeBasic 23350005 23370063 3 (-1)
      "showsPrec"
      Prelude.False
c2344v5v2347v65showsPrec
  = T.mkVariable tPreludeBasic 23440005 23470065 3 (-1)
      "showsPrec"
      Prelude.False
c2355v5v2359v65showsPrec
  = T.mkVariable tPreludeBasic 23550005 23590065 3 (-1)
      "showsPrec"
      Prelude.False
c2369v5v2374v65showsPrec
  = T.mkVariable tPreludeBasic 23690005 23740065 3 (-1)
      "showsPrec"
      Prelude.False
c2385v5v2391v65showsPrec
  = T.mkVariable tPreludeBasic 23850005 23910065 3 (-1)
      "showsPrec"
      Prelude.False
c2404v5v2411v65showsPrec
  = T.mkVariable tPreludeBasic 24040005 24110065 3 (-1)
      "showsPrec"
      Prelude.False
c2425v5v2434v65showsPrec
  = T.mkVariable tPreludeBasic 24250005 24340065 3 (-1)
      "showsPrec"
      Prelude.False
c2450v5v2460v65showsPrec
  = T.mkVariable tPreludeBasic 24500005 24600065 3 (-1)
      "showsPrec"
      Prelude.False
c2477v5v2488v65showsPrec
  = T.mkVariable tPreludeBasic 24770005 24880065 3 (-1)
      "showsPrec"
      Prelude.False
c2506v5v2518v65showsPrec
  = T.mkVariable tPreludeBasic 25060005 25180065 3 (-1)
      "showsPrec"
      Prelude.False
c2537v5v2550v65showsPrec
  = T.mkVariable tPreludeBasic 25370005 25500065 3 (-1)
      "showsPrec"
      Prelude.False
c2570v5v2584v65showsPrec
  = T.mkVariable tPreludeBasic 25700005 25840065 3 (-1)
      "showsPrec"
      Prelude.False
c2605v5v2620v65showsPrec
  = T.mkVariable tPreludeBasic 26050005 26200065 3 (-1)
      "showsPrec"
      Prelude.False
c2798v9v2799v48match
  = T.mkVariable tPreludeBasic 27980009 27990048 3 (2)
      "match"
      Prelude.True
c2773v9v2795v29readEsc
  = T.mkVariable tPreludeBasic 27730009 27950029 3 (1)
      "readEsc"
      Prelude.True
c2790v32v2790v78table
  = T.mkVariable tPreludeBasic 27900032 27900078 3 (0)
      "table"
      Prelude.True
c2819v36v2820v57cont
  = T.mkVariable tPreludeBasic 28190036 28200057 3 (1)
      "cont"
      Prelude.True
c2838v11v2838v47isCharName
  = T.mkVariable tPreludeBasic 28380011 28380047 3 (1)
      "isCharName"
      Prelude.True
c2832v11v2837v57lexEsc
  = T.mkVariable tPreludeBasic 28320011 28370057 3 (1)
      "lexEsc"
      Prelude.True
c2877v9v2877v24b
  = T.mkVariable tPreludeBasic 28770009 28770024 3 (0)
      "b"
      Prelude.True
c2885v9v2885v62f
  = T.mkVariable tPreludeBasic 28850009 28850062 3 (0)
      "f"
      Prelude.True
c2880v9v2880v28minExp
  = T.mkVariable tPreludeBasic 28800009 28800028 3 (0)
      "minExp"
      Prelude.True
c2879v9v2879v35minExp0
  = T.mkVariable tPreludeBasic 28790009 28790035 3 (0)
      "minExp0"
      Prelude.True
c2878v9v2878v25p
  = T.mkVariable tPreludeBasic 28780009 28780025 3 (0)
      "p"
      Prelude.True
c2886v9v2886v70p'
  = T.mkVariable tPreludeBasic 28860009 28860070 3 (0)
      "p'"
      Prelude.True
c2883v9v2884v64p0
  = T.mkVariable tPreludeBasic 28830009 28840064 3 (0)
      "p0"
      Prelude.True
c2887v9v2887v37r
  = T.mkVariable tPreludeBasic 28870009 28870037 3 (0)
      "r"
      Prelude.True
c2886v9v2886v70x'
  = T.mkVariable tPreludeBasic 28860009 28860070 3 (0)
      "x'"
      Prelude.True
c2882v9v2882v36xMax
  = T.mkVariable tPreludeBasic 28820009 28820036 3 (0)
      "xMax"
      Prelude.True
c2881v9v2881v40xMin
  = T.mkVariable tPreludeBasic 28810009 28810040 3 (0)
      "xMin"
      Prelude.True
c2927v13v2927v68doDiv
  = T.mkVariable tPreludeBasic 29270013 29270068 3 (2)
      "doDiv"
      Prelude.True
c2925v13v2925v42l
  = T.mkVariable tPreludeBasic 29250013 29250042 3 (0)
      "l"
      Prelude.True
c2954v5v2954v27d
  = T.mkVariable tPreludeBasic 29540005 29540027 3 (0)
      "d"
      Prelude.True
c2954v5v2954v27n'
  = T.mkVariable tPreludeBasic 29540005 29540027 3 (0)
      "n'"
      Prelude.True
c2955v5v2955v45rest'
  = T.mkVariable tPreludeBasic 29550005 29550045 3 (0)
      "rest'"
      Prelude.True
c2959v28v2961v68read'
  = T.mkVariable tPreludeBasic 29590028 29610068 3 (1)
      "read'"
      Prelude.True
c2962v28v2963v71read''
  = T.mkVariable tPreludeBasic 29620028 29630071 3 (1)
      "read''"
      Prelude.True
c2999v5v2999v13base
  = T.mkVariable tPreludeBasic 29990005 29990013 3 (0)
      "base"
      Prelude.True
c3009v5v3064v0doFmt
  = T.mkVariable tPreludeBasic 30090005 30640000 3 (2)
      "doFmt"
      Prelude.True
c3000v5v3007v56s
  = T.mkVariable tPreludeBasic 30000005 30070056 3 (0)
      "s"
      Prelude.True
c3011v12v3011v33ds
  = T.mkVariable tPreludeBasic 30110012 30110033 3 (0)
      "ds"
      Prelude.True
c3026v21v3026v36dec'
  = T.mkVariable tPreludeBasic 30260021 30260036 3 (0)
      "dec'"
      Prelude.True
c3031v25v3032v69d
  = T.mkVariable tPreludeBasic 30310025 30320069 3 (0)
      "d"
      Prelude.True
c3031v25v3032v69ds
  = T.mkVariable tPreludeBasic 30310025 30320069 3 (0)
      "ds"
      Prelude.True
c3030v25v3030v60ei
  = T.mkVariable tPreludeBasic 30300025 30300060 3 (0)
      "ei"
      Prelude.True
c3030v25v3030v60is'
  = T.mkVariable tPreludeBasic 30300025 30300060 3 (0)
      "is'"
      Prelude.True
c3056v15v3057v24mk0
  = T.mkVariable tPreludeBasic 30560015 30570024 3 (1)
      "mk0"
      Prelude.True
c3059v15v3060v33mkdot0
  = T.mkVariable tPreludeBasic 30590015 30600033 3 (1)
      "mkdot0"
      Prelude.True
c3043v22v3043v37dec'
  = T.mkVariable tPreludeBasic 30430022 30430037 3 (0)
      "dec'"
      Prelude.True
c3045v24v3045v61ei
  = T.mkVariable tPreludeBasic 30450024 30450061 3 (0)
      "ei"
      Prelude.True
c3045v24v3045v61is'
  = T.mkVariable tPreludeBasic 30450024 30450061 3 (0)
      "is'"
      Prelude.True
c3046v24v3047v66ls
  = T.mkVariable tPreludeBasic 30460024 30470066 3 (0)
      "ls"
      Prelude.True
c3046v24v3047v66rs
  = T.mkVariable tPreludeBasic 30460024 30470066 3 (0)
      "rs"
      Prelude.True
c3052v24v3053v67d
  = T.mkVariable tPreludeBasic 30520024 30530067 3 (0)
      "d"
      Prelude.True
c3052v24v3053v67ds
  = T.mkVariable tPreludeBasic 30520024 30530067 3 (0)
      "ds"
      Prelude.True
c3050v24v3051v67ei
  = T.mkVariable tPreludeBasic 30500024 30510067 3 (0)
      "ei"
      Prelude.True
c3050v24v3051v67is'
  = T.mkVariable tPreludeBasic 30500024 30510067 3 (0)
      "is'"
      Prelude.True
c3068v9v3068v25b2
  = T.mkVariable tPreludeBasic 30680009 30680025 3 (0)
      "b2"
      Prelude.True
c3069v9v3074v60f
  = T.mkVariable tPreludeBasic 30690009 30740060 3 (2)
      "f"
      Prelude.True
c3072v17v3072v36c
  = T.mkVariable tPreludeBasic 30720017 30720036 3 (0)
      "c"
      Prelude.True
c3072v17v3072v36ds
  = T.mkVariable tPreludeBasic 30720017 30720036 3 (0)
      "ds"
      Prelude.True
c3073v17v3073v26i'
  = T.mkVariable tPreludeBasic 30730017 30730026 3 (0)
      "i'"
      Prelude.True
c3096v9v3096v24b
  = T.mkVariable tPreludeBasic 30960009 30960024 3 (0)
      "b"
      Prelude.True
c3103v9v3104v71e
  = T.mkVariable tPreludeBasic 31030009 31040071 3 (0)
      "e"
      Prelude.True
c3093v9v3093v32e0
  = T.mkVariable tPreludeBasic 30930009 30930032 3 (0)
      "e0"
      Prelude.True
c3103v9v3104v71f
  = T.mkVariable tPreludeBasic 31030009 31040071 3 (0)
      "f"
      Prelude.True
c3093v9v3093v32f0
  = T.mkVariable tPreludeBasic 30930009 30930032 3 (0)
      "f0"
      Prelude.True
c3139v9v3148v0gen
  = T.mkVariable tPreludeBasic 31390009 31480000 3 (5)
      "gen"
      Prelude.True
c3118v9v3137v24k
  = T.mkVariable tPreludeBasic 31180009 31370024 3 (0)
      "k"
      Prelude.True
c3106v9v3117v40mDn
  = T.mkVariable tPreludeBasic 31060009 31170040 3 (0)
      "mDn"
      Prelude.True
c3106v9v3117v40mUp
  = T.mkVariable tPreludeBasic 31060009 31170040 3 (0)
      "mUp"
      Prelude.True
c3097v9v3097v28minExp
  = T.mkVariable tPreludeBasic 30970009 30970028 3 (0)
      "minExp"
      Prelude.True
c3094v9v3094v35minExp0
  = T.mkVariable tPreludeBasic 30940009 30940035 3 (0)
      "minExp0"
      Prelude.True
c3095v9v3095v25p
  = T.mkVariable tPreludeBasic 30950009 30950025 3 (0)
      "p"
      Prelude.True
c3106v9v3117v40r
  = T.mkVariable tPreludeBasic 31060009 31170040 3 (0)
      "r"
      Prelude.True
c3148v9v3153v59rds
  = T.mkVariable tPreludeBasic 31480009 31530059 3 (0)
      "rds"
      Prelude.True
c3106v9v3117v40s
  = T.mkVariable tPreludeBasic 31060009 31170040 3 (0)
      "s"
      Prelude.True
c3103v22v3103v36n
  = T.mkVariable tPreludeBasic 31030022 31030036 3 (0)
      "n"
      Prelude.True
c3108v20v3108v27be
  = T.mkVariable tPreludeBasic 31080020 31080027 3 (0)
      "be"
      Prelude.True
c3131v17v3136v75fixup
  = T.mkVariable tPreludeBasic 31310017 31360075 3 (1)
      "fixup"
      Prelude.True
c3119v17v3130v55k0
  = T.mkVariable tPreludeBasic 31190017 31300055 3 (0)
      "k0"
      Prelude.True
c3140v17v3140v51dn
  = T.mkVariable tPreludeBasic 31400017 31400051 3 (0)
      "dn"
      Prelude.True
c3142v17v3142v35mDnN'
  = T.mkVariable tPreludeBasic 31420017 31420035 3 (0)
      "mDnN'"
      Prelude.True
c3141v17v3141v35mUpN'
  = T.mkVariable tPreludeBasic 31410017 31410035 3 (0)
      "mUpN'"
      Prelude.True
c3140v17v3140v51rn'
  = T.mkVariable tPreludeBasic 31400017 31400051 3 (0)
      "rn'"
      Prelude.True
c3152v21v3152v39bk
  = T.mkVariable tPreludeBasic 31520021 31520039 3 (0)
      "bk"
      Prelude.True
c3171v18v3172v44lexFrac
  = T.mkVariable tPreludeBasic 31710018 31720044 3 (1)
      "lexFrac"
      Prelude.True
c3174v18v3175v56readExp
  = T.mkVariable tPreludeBasic 31740018 31750056 3 (1)
      "readExp"
      Prelude.True
c3177v18v3179v45readExp'
  = T.mkVariable tPreludeBasic 31770018 31790045 3 (1)
      "readExp'"
      Prelude.True
c3167v18v3169v53readFix
  = T.mkVariable tPreludeBasic 31670018 31690053 3 (1)
      "readFix"
      Prelude.True
(+%#>*=%^=%#>*=%@==)
  = T.mkVariable tPreludeBasic 31950037 31950038 3 (-1)
      "=="
      Prelude.False
c3213v34v3213v44d
  = T.mkVariable tPreludeBasic 32130034 32130044 3 (0)
      "d"
      Prelude.True
(+%$$&=*=%$$&=&%<)
  = T.mkVariable tPreludeBasic 32240005 32240043 3 (-1)
      "<"
      Prelude.False
(+%$$%=*=%$$%=&%<=)
  = T.mkVariable tPreludeBasic 32230005 32230043 3 (-1)
      "<="
      Prelude.False
c3230v5v3230v37abs
  = T.mkVariable tPreludeBasic 32300005 32300037 3 (-1)
      "abs"
      Prelude.False
c3232v5v3232v45fromInteger
  = T.mkVariable tPreludeBasic 32320005 32320045 3 (-1)
      "fromInteger"
      Prelude.False
c3229v5v3229v36negate
  = T.mkVariable tPreludeBasic 32290005 32290036 3 (-1)
      "negate"
      Prelude.False
c3231v5v3231v40signum
  = T.mkVariable tPreludeBasic 32310005 32310040 3 (-1)
      "signum"
      Prelude.False
(+%$$@=*=%$$@=*#*)
  = T.mkVariable tPreludeBasic 32280005 32280051 3 (-1)
      "*"
      Prelude.False
(+%$$^=*=%$$^=*&+)
  = T.mkVariable tPreludeBasic 32270005 32270054 3 (-1)
      "+"
      Prelude.False
c3235v5v3235v53toRational
  = T.mkVariable tPreludeBasic 32350005 32350053 3 (-1)
      "toRational"
      Prelude.False
c3240v5v3240v57fromRational
  = T.mkVariable tPreludeBasic 32400005 32400057 3 (-1)
      "fromRational"
      Prelude.False
c3239v5v3239v32recip
  = T.mkVariable tPreludeBasic 32390005 32390032 3 (-1)
      "recip"
      Prelude.False
(+%$%@=*=%$%@=&$/)
  = T.mkVariable tPreludeBasic 32380005 32380042 3 (-1)
      "/"
      Prelude.False
c3244v35v3244v53q
  = T.mkVariable tPreludeBasic 32440035 32440053 3 (0)
      "q"
      Prelude.True
c3244v35v3244v53r
  = T.mkVariable tPreludeBasic 32440035 32440053 3 (0)
      "r"
      Prelude.True
c3243v5v3244v33properFraction
  = T.mkVariable tPreludeBasic 32430005 32440033 3 (-1)
      "properFraction"
      Prelude.False
c3249v5v3249v39enumFrom
  = T.mkVariable tPreludeBasic 32490005 32490039 3 (-1)
      "enumFrom"
      Prelude.False
c3250v5v3250v43enumFromThen
  = T.mkVariable tPreludeBasic 32500005 32500043 3 (-1)
      "enumFromThen"
      Prelude.False
c3252v5v3252v45enumFromThenTo
  = T.mkVariable tPreludeBasic 32520005 32520045 3 (-1)
      "enumFromThenTo"
      Prelude.False
c3251v5v3251v41enumFromTo
  = T.mkVariable tPreludeBasic 32510005 32510041 3 (-1)
      "enumFromTo"
      Prelude.False
c3248v5v3248v46fromEnum
  = T.mkVariable tPreludeBasic 32480005 32480046 3 (-1)
      "fromEnum"
      Prelude.False
c3247v5v3247v36toEnum
  = T.mkVariable tPreludeBasic 32470005 32470036 3 (-1)
      "toEnum"
      Prelude.False
c3255v5v3258v69readsPrec
  = T.mkVariable tPreludeBasic 32550005 32580069 3 (-1)
      "readsPrec"
      Prelude.False
c3261v5v3262v69showsPrec
  = T.mkVariable tPreludeBasic 32610005 32620069 3 (-1)
      "showsPrec"
      Prelude.False
c3267v15v3272v45simplest
  = T.mkVariable tPreludeBasic 32670015 32720045 3 (2)
      "simplest"
      Prelude.True
c3275v15v3279v42simplest'
  = T.mkVariable tPreludeBasic 32750015 32790042 3 (4)
      "simplest'"
      Prelude.True
c3272v47v3272v70d
  = T.mkVariable tPreludeBasic 32720047 32720070 3 (0)
      "d"
      Prelude.True
c3273v47v3273v70d'
  = T.mkVariable tPreludeBasic 32730047 32730070 3 (0)
      "d'"
      Prelude.True
c3272v47v3272v70n
  = T.mkVariable tPreludeBasic 32720047 32720070 3 (0)
      "n"
      Prelude.True
c3273v47v3273v70n'
  = T.mkVariable tPreludeBasic 32730047 32730070 3 (0)
      "n'"
      Prelude.True
c3272v47v3272v70xr
  = T.mkVariable tPreludeBasic 32720047 32720070 3 (0)
      "xr"
      Prelude.True
c3281v44v3281v76d''
  = T.mkVariable tPreludeBasic 32810044 32810076 3 (0)
      "d''"
      Prelude.True
c3281v44v3281v76n''
  = T.mkVariable tPreludeBasic 32810044 32810076 3 (0)
      "n''"
      Prelude.True
c3279v44v3279v68q
  = T.mkVariable tPreludeBasic 32790044 32790068 3 (0)
      "q"
      Prelude.True
c3280v44v3280v70q'
  = T.mkVariable tPreludeBasic 32800044 32800070 3 (0)
      "q'"
      Prelude.True
c3279v44v3279v68r
  = T.mkVariable tPreludeBasic 32790044 32790068 3 (0)
      "r"
      Prelude.True
c3280v44v3280v70r'
  = T.mkVariable tPreludeBasic 32800044 32800070 3 (0)
      "r'"
      Prelude.True
p = T.mkRoot
tPreludeBasic
  = T.mkModule "PreludeBasic" "PreludeBasic.hs"
      Prelude.False