module UHC.Light.Compiler.EH.MainAG_PatExpr where import Data.Char import Data.List as List import UHC.Util.Pretty import UHC.Light.Compiler.Base.Common import UHC.Light.Compiler.Base.TermLike import UHC.Light.Compiler.Base.HsName.Builtin import UHC.Light.Compiler.Opts import UHC.Light.Compiler.Gam.Full import UHC.Light.Compiler.Error import UHC.Light.Compiler.Error.Pretty import UHC.Light.Compiler.EH import UHC.Light.Compiler.Ty.Pretty import UHC.Light.Compiler.Ty.FitsInCommon import UHC.Light.Compiler.Ty.FitsIn import qualified UHC.Util.FastSeq as Seq import UHC.Util.Utils import UHC.Light.Compiler.Base.Trace import UHC.Light.Compiler.Base.UnderDev import UHC.Light.Compiler.VarMp import UHC.Light.Compiler.Substitutable import Data.Maybe import UHC.Light.Compiler.Ty.Utils1 import UHC.Light.Compiler.Ty.Trf.Quantify import UHC.Light.Compiler.Ty.Trf.Instantiate import UHC.Light.Compiler.Ty import UHC.Light.Compiler.Ty.FitsInCommon2 import UHC.Light.Compiler.Ty.FIEnv2 import qualified Data.Set as Set import qualified Data.Map as Map import Data.Set (Set) import Data.Map (Map) import UHC.Light.Compiler.Ty.Trf.FreshVar import UHC.Light.Compiler.Ty.Ftv import UHC.Util.Utils (groupSortOn) import Control.Applicative ((<|>)) import UHC.Light.Compiler.AbstractCore import UHC.Light.Compiler.AbstractCore.Utils import UHC.Light.Compiler.Core import UHC.Light.Compiler.Core.FFI import UHC.Light.Compiler.Core.Utils import UHC.Light.Compiler.Core.Pretty import UHC.Light.Compiler.Foreign.Extract import UHC.Light.Compiler.LamInfo import UHC.Light.Compiler.CodeGen.RefGenerator import qualified UHC.Light.Compiler.Core.SysF.AsTy as SysF import UHC.Light.Compiler.FinalEnv import UHC.Light.Compiler.Core.BindExtract import UHC.Light.Compiler.Core.Subst import Control.Monad.State import UHC.Light.Compiler.Ty.Utils2 import UHC.Light.Compiler.Base.Target import UHC.Light.Compiler.Core.Coercion import UHC.Light.Compiler.Ty.Trf.MergePreds import UHC.Light.Compiler.Ty.Trf.Canonic import UHC.Light.Compiler.Gam.ClGam import UHC.Light.Compiler.Pred import UHC.Light.Compiler.Pred.CtxtRedOnly.RedGraph (redPruneReductionsUntil) import UHC.Util.CHR import UHC.Light.Compiler.CHR.CtxtRedOnly.Constraint import UHC.Light.Compiler.CHR.CtxtRedOnly.Guard import UHC.Light.Compiler.Pred.CtxtRedOnly.ToCHR import UHC.Light.Compiler.Pred.CtxtRedOnly.Heuristics import UHC.Light.Compiler.Pred.CtxtRedOnly.Evidence import UHC.Light.Compiler.CHR.CtxtRedOnly.Solve import UHC.Light.Compiler.Pred.CtxtRedOnly.EvidenceToCore import UHC.Light.Compiler.Gam.ClassDefaultGam import UHC.Light.Compiler.Ty.Trf.BetaReduce (tyBetaRedFull) import UHC.Light.Compiler.Module.ImportExport import UHC.Light.Compiler.Ty.UsedNames import UHC.Light.Compiler.CodeGen.ImportUsedModules import UHC.Light.Compiler.CodeGen.ModuleImportExportImpl import UHC.Light.Compiler.CodeGen.BuiltinPrims import UHC.Light.Compiler.Foreign import UHC.Light.Compiler.Foreign import UHC.Light.Compiler.Foreign.Pretty import UHC.Light.Compiler.Deriving import UHC.Light.Compiler.Generics import UHC.Light.Compiler.VarMp.Utils import UHC.Light.Compiler.EH.MainAG_common -- PatExpr ----------------------------------------------------- {- visit 0: synthesized attribute: range : Range visit 1: chained attribute: gUniq : UID visit 2: inherited attributes: kiGam : KiGam lexLev : Int chained attribute: predSameScopeCounter : Int visit 3: inherited attributes: opts : EHCOpts polGam : PolGam predScope : PredScope tyKiGlobFreeTvarS : TyVarIdS chained attributes: generDataInfoMp : GenerDataInfoMp kiVarMp : VarMp polVarMp : VarMp tyGam : TyGam tyKiGam : TyKiGam visit 4: inherited attributes: clGam : ClGam dataGam : DataGam finKiVarMp : VarMp finTyKiGam : TyKiGam tyTyTySigFreeTvarS : TyVarIdS synthesized attributes: chrInstDeclSq : Seq.FastSeq (CHRScopedInstanceDecl) topNm : HsName visit 5: inherited attribute: valGam : ValGam synthesized attributes: arity : Int mbTopNm : Maybe HsName patFunTy : Ty visit 6: inherited attributes: fiOpts : FIOpts inclVarBind : Bool knTy : Ty knTyL : TyL tySigGam : ValGam chained attribute: patTyVarMp : VarMp synthesized attribute: valGam : ValGam visit 7: inherited attributes: chrStore : CHRStore clDfGam : ClassDefaultGam tvKiVarMp : VarMp tyTyGlobFreeTvarS : TyVarIdS valTyGlobFreeTvarS : TyVarIdS chained attribute: tyVarMp : VarMp synthesized attributes: cpNm : RPatNm gathCnstrMp : ConstraintToInfoMap gathRangeMp : RangeMp scopeGam : ScopeGam ty : Ty visit 8: inherited attributes: ceParentNm : HsName chrEvidBindMp : EvidKeyToCBindMap chrScopeBindMp : PredScopeToCBindMap finTyVarMp : VarMp finValGam : ValGam moduleNm : HsName rangeMp : RangeMp sysfEnv : ToSysfEnv tr : TraceOn -> [PP_Doc] -> TrPP tySigVarMp : VarMp chained attribute: cSubst : CSubst synthesized attributes: allErrSq : ErrSq appArgPPL : [PP_Doc] appFunNm : HsName appFunPP : PP_Doc errSq : ErrSq fsRPatL : FieldSplitL gathMentrelFilterMp : ModEntRelFilterMp gathTvKiVarMp : VarMp isBang : Bool patCRest : CPatRest pp : PP_Doc ppAST : PP_Doc rpat : RPat trpp : TrPP valCBindL : CBindL alternatives: alternative IConst: child hsrange : {Range} child int : {Int} visit 0: local range : {Range} visit 1: local _tup175 : _ intra range : {Range} visit 2: intra _tup175 : _ intra range : {Range} visit 3: intra _tup175 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup175 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 6: intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 8: local pp : _ local trppHere : _ local finalTy : _ local fe : {FIEnv} local finalTyExpanded : _ local sysfty : _ local acorety : _ local rpat : _ intra ty : {Ty} intra range : {Range} intra cpNm : {RPatNm} alternative CConst: child hsrange : {Range} child char : {Char} visit 0: local range : {Range} visit 1: local _tup176 : _ intra range : {Range} visit 2: intra _tup176 : _ intra range : {Range} visit 3: intra _tup176 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup176 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 6: intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 8: local pp : _ local trppHere : _ local finalTy : _ local fe : {FIEnv} local finalTyExpanded : _ local sysfty : _ local acorety : _ local rpat : _ intra ty : {Ty} intra range : {Range} intra cpNm : {RPatNm} alternative Con: child hsrange : {Range} child nm : {HsName} visit 0: local range : {Range} visit 1: local _tup179 : _ intra range : {Range} visit 2: intra _tup179 : _ intra range : {Range} visit 3: intra _tup179 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup179 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} local lUniq2 : {UID} local _tup178 : _ local tvarv2_ : {Ty} local tvarv1_ : {Ty} local knTyShape : _ local _tup177 : _ local ty_g_ : {Ty} local fe : {FIEnv} local fo_fitP_ : {FIOut} local tyVarMp_p_ : {VarMp} local patFunTy : {Ty} intra _tup179 : _ intra lUniq : {UID} intra range : {Range} intra topNm : {HsName} visit 6: local lUniq3 : {UID} local fo_fitR_ : {FIOut} intra _tup179 : _ intra tvarv1_ : {Ty} intra tyVarMp_p_ : {VarMp} intra fe : {FIEnv} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra _tup177 : _ intra fo_fitP_ : {FIOut} intra range : {Range} intra ty_g_ : {Ty} intra patFunTy : {Ty} visit 7: local cpNm : {RPatNm} local ty_r_ : _ local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra fo_fitR_ : {FIOut} intra _tup177 : _ intra fo_fitP_ : {FIOut} intra range : {Range} intra ty_g_ : {Ty} intra patFunTy : {Ty} intra tvarv1_ : {Ty} intra fe : {FIEnv} visit 8: local appFunNm : _ local pp : _ local nmErrs : {ErrL} local fsRPatL : _ local gathMentrelFilterMp : _ local trppHere : _ local knPatTy : {Ty} local finalTy : _ local finalTyExpanded : _ local finKnPatTy : _ local tyConNm : _ local dgi : {DataGamInfo} local dti : _ local tag : _ local sysfty : _ local acorety : _ local rpat : _ local trpp : _ intra _tup177 : _ intra fo_fitR_ : {FIOut} intra fo_fitP_ : {FIOut} intra range : {Range} intra ty_g_ : {Ty} intra patFunTy : {Ty} intra tvarv1_ : {Ty} intra ty : {Ty} intra fe : {FIEnv} intra cpNm : {RPatNm} alternative Var: child hsrange : {Range} child nm : {HsName} visit 0: local range : {Range} visit 1: local _tup183 : _ intra range : {Range} visit 2: intra _tup183 : _ intra range : {Range} visit 3: intra _tup183 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup183 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra _tup183 : _ intra lUniq : {UID} intra range : {Range} intra topNm : {HsName} visit 6: local lUniq_4_fo : {UID} local lUniq2 : {UID} local _tup182 : _ local ty_kn_ensured : _ local ty_kn_ : {Ty} local patTyVarMpKnTyEns : _ local patTyVarMpKnTy1 : _ local _tup180 : _ local ty_g_ : {Ty} local fe : {FIEnv} local fo_ : {FIOut} local _tup181 : _ local patTyVarMpKnEx : _ local ty : {Ty} local varTy : _ local addToGam : _ intra _tup183 : _ intra lUniq : {UID} intra range : {Range} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} visit 7: local cpNm : {RPatNm} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra ty : {Ty} intra fe : {FIEnv} visit 8: local pp : _ local trppHere : _ local finalTy : _ local finalTyExpanded : _ local sysfty : _ local acorety : _ local rpat : _ intra ty : {Ty} intra fe : {FIEnv} intra cpNm : {RPatNm} alternative VarAs: child hsrange : {Range} child nm : {HsName} child patExpr : PatExpr visit 0: local range : {Range} visit 1: local _tup186 : _ intra range : {Range} visit 2: intra _tup186 : _ intra range : {Range} visit 3: intra _tup186 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup186 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra _tup186 : _ intra lUniq : {UID} intra range : {Range} intra topNm : {HsName} visit 6: local lUniq_4_fo : {UID} local lUniq2 : {UID} local patTyVarMpKnTy1 : _ local ty_kn_ : {Ty} local _tup184 : _ local ty_g_ : {Ty} local fe : {FIEnv} local fo_ : {FIOut} local _tup185 : _ local patTyVarMpKnEx : _ local ty : {Ty} local varTy : _ local addToGam : _ intra _tup186 : _ intra lUniq : {UID} intra range : {Range} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} visit 7: local cpNm : {RPatNm} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra ty : {Ty} visit 8: local pp : _ local trppHere : _ local rpat : _ intra cpNm : {RPatNm} alternative App: child hsrange : {Range} child func : PatExpr child arg : PatExpr visit 0: local range : {Range} visit 1: local _tup189 : _ visit 5: local mbTopNm : {Maybe HsName} visit 6: local _tup188 : _ local knTyL : {TyL} local knArgTy : {Ty} visit 7: local cpNm : {RPatNm} visit 8: local _tup187 : _ local pp : _ local trppHere : _ alternative AppTop: child hsrange : {Range} child patExpr : PatExpr visit 0: local range : {Range} visit 1: local _tup192 : _ intra range : {Range} visit 2: intra _tup192 : _ intra range : {Range} visit 3: intra _tup192 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup192 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} local patFunTy : {Ty} intra range : {Range} intra lUniq : {UID} intra topNm : {HsName} visit 6: local _tup191 : _ local knProdTy : _ local prodTyL : _ local _tup190 : _ local knTyL : {TyL} local knPatTy : {Ty} local fe : {FIEnv} local fo_fitR_ : {FIOut} intra patFunTy : {Ty} intra range : {Range} intra lUniq : {UID} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra fo_fitR_ : {FIOut} intra _tup190 : _ intra range : {Range} intra fe : {FIEnv} intra knPatTy : {Ty} visit 8: local pp : _ local arityErrs : {ErrL} local trppHere : _ local appFunNm : _ local finalTy : _ local finalTyExpanded : _ local finKnPatTy : _ local fsRPatL : _ local rpatBinds : _ local rest : _ local tyConNm : _ local dgi : {DataGamInfo} local dti : _ local tag : _ local sysfty : _ local acorety : _ local rpat : _ local rceEnv : _ local valCBindLSub : _ local valCBindL : _ intra _tup190 : _ intra fo_fitR_ : {FIOut} intra range : {Range} intra ty : {Ty} intra fe : {FIEnv} intra knPatTy : {Ty} intra cpNm : {RPatNm} alternative Parens: child hsrange : {Range} child patExpr : PatExpr visit 0: local range : {Range} visit 1: local _tup193 : _ visit 5: local mbTopNm : {Maybe HsName} visit 8: local pp : _ local trppHere : _ alternative Ann: child hsrange : {Range} child ann : PatExprAnn child patExpr : PatExpr visit 0: local range : {Range} visit 1: local _tup194 : _ visit 5: local mbTopNm : {Maybe HsName} visit 8: local pp : _ alternative TypeAs: child hsrange : {Range} child tyExpr : TyExpr child patExpr : PatExpr visit 0: local range : {Range} visit 1: local _tup195 : _ intra range : {Range} visit 2: intra _tup195 : _ intra range : {Range} visit 3: intra _tup195 : _ intra range : {Range} visit 4: intra _tup195 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra _tup195 : _ intra range : {Range} visit 6: local lUniq_4_fo : {UID} local ty_q_ : {Ty} local fe : {FIEnv} local fo_ : {FIOut} intra _tup195 : _ intra range : {Range} visit 7: intra fo_ : {FIOut} intra range : {Range} visit 8: local pp : _ local trppHere : _ intra fo_ : {FIOut} intra range : {Range} alternative SConst: child hsrange : {Range} child str : {String} visit 0: local range : {Range} visit 1: local _tup196 : _ intra range : {Range} visit 2: intra _tup196 : _ intra range : {Range} visit 3: intra _tup196 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup196 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra range : {Range} intra lUniq : {UID} intra topNm : {HsName} visit 6: local constTy : {Ty} local fe : {FIEnv} local fo_ : {FIOut} intra range : {Range} intra lUniq : {UID} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra constTy : {Ty} intra fe : {FIEnv} visit 8: local pp : _ local trppHere : _ local finalTy : _ local finalTyExpanded : _ local sysfty : _ local acorety : _ local rpat : _ intra ty : {Ty} intra fe : {FIEnv} intra cpNm : {RPatNm} alternative Rec: child hsrange : {Range} child recPatExpr : RecPatExpr visit 0: local range : {Range} visit 1: local _tup197 : _ intra range : {Range} visit 2: intra _tup197 : _ intra range : {Range} visit 3: intra _tup197 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup197 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 6: intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 8: local appFunNm : _ local pp : _ local fsRPatL : _ local trppHere : _ local ppAST : _ local finalTy : _ local fe : {FIEnv} local finalTyExpanded : _ local rpatBinds : _ local rest : _ local tag : _ local sysfty : _ local acorety : _ local rpat : _ local rceEnv : _ local valCBindLSub : _ local valCBindL : _ intra range : {Range} intra ty : {Ty} intra cpNm : {RPatNm} alternative DataFields: child hsrange : {Range} child dataFieldPatExpr : DataFieldPatExpr visit 0: local range : {Range} visit 1: local _tup199 : _ intra range : {Range} visit 2: intra _tup199 : _ intra range : {Range} visit 3: intra _tup199 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup199 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 6: intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 8: local pp : _ local trppHere : _ local ppAST : _ local finalTy : _ local fe : {FIEnv} local finalTyExpanded : _ local fsRPatL : _ local tag : _ local _tup198 : _ local rpatBind0 : _ local rpatBindss : _ local rest : _ local sysfty : _ local acorety : _ local rpat : _ local rceEnv : _ local valCBindLSub : _ local rpatBindsNonSat : _ local valCBindL : _ intra ty : {Ty} intra range : {Range} intra cpNm : {RPatNm} alternative Irrefutable: child hsrange : {Range} child patExpr : PatExpr visit 0: local range : {Range} visit 1: local _tup200 : _ intra range : {Range} visit 2: intra range : {Range} visit 3: intra range : {Range} visit 4: local topNm : {HsName} intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 6: intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra range : {Range} visit 8: local pp : _ local finalTy : _ local fe : {FIEnv} local finalTyExpanded : _ local sysfty : _ local acorety : _ local rpat : _ intra ty : {Ty} intra range : {Range} intra cpNm : {RPatNm} alternative Bang: child hsrange : {Range} child patExpr : PatExpr visit 0: local range : {Range} visit 1: local _tup201 : _ visit 4: local topNm : {HsName} visit 5: local mbTopNm : {Maybe HsName} intra topNm : {HsName} visit 6: intra mbTopNm : {Maybe HsName} intra topNm : {HsName} visit 7: local cpNm : {RPatNm} local ty : {Ty} intra mbTopNm : {Maybe HsName} intra topNm : {HsName} visit 8: local pp : _ local rpat : _ alternative Expr: child hsrange : {Range} child expr : Expr child mbConst : {Maybe SrcConst} visit 0: local range : {Range} visit 1: local _tup204 : _ intra range : {Range} visit 2: intra _tup204 : _ intra range : {Range} visit 3: intra _tup204 : _ intra range : {Range} visit 4: local lUniq : {UID} local topNm : {HsName} intra _tup204 : _ intra range : {Range} visit 5: local mbTopNm : {Maybe HsName} intra topNm : {HsName} intra _tup204 : _ intra lUniq : {UID} intra range : {Range} visit 6: intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra _tup204 : _ intra lUniq : {UID} intra range : {Range} visit 7: local cpNm : {RPatNm} local lUniq_97_fitsIn_ty : {UID} local knExprTy : {Ty} local eqFldNm : {HsName} local _tup203 : _ local eqTy : {Ty} local fe : {FIEnv} local fo_ : {FIOut} local hereCnstrMp : _ intra mbTopNm : {Maybe HsName} intra topNm : {HsName} intra _tup204 : _ intra lUniq : {UID} intra range : {Range} visit 8: local pp : _ local lUniq_cexpr : {UID} local cexprBaseEq : _ local _tup202 : _ local cexprpatCSubst : _ local nmErrs : {ErrL} local gathMentrelFilterMp : _ local cexpr : _ local rpat : _ intra _tup204 : _ intra eqFldNm : {HsName} intra fo_ : {FIOut} intra _tup203 : _ intra range : {Range} intra eqTy : {Ty} intra cpNm : {RPatNm} -} sem_PatExpr_IConst :: Range -> Int -> T_PatExpr sem_PatExpr_IConst hsrange_ int_ | hsrange_ `seq` (int_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_IConst_1 :: T_PatExpr_1 sem_PatExpr_IConst_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup175 | __tup175 `seq` (True) -> (case (__tup175) of { (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_IConst_2 :: T_PatExpr_2 sem_PatExpr_IConst_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_IConst_3 :: T_PatExpr_3 sem_PatExpr_IConst_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_lhsIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_lhsIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_lhsItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_lhsItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_IConst_4 :: T_PatExpr_4 sem_PatExpr_IConst_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup175) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_IConst_5 :: T_PatExpr_5 sem_PatExpr_IConst_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (Ty_Any) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_IConst_6 :: T_PatExpr_6 sem_PatExpr_IConst_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_lhsIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_IConst_7 :: T_PatExpr_7 sem_PatExpr_IConst_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (tyInt) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_IConst_8 :: T_PatExpr_8 sem_PatExpr_IConst_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp (show int_)) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","IConst"] [_pp] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Int _cpNm _acorety (toInteger int_)) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ([]) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_IConst_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_IConst_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) })))))))) in sem_PatExpr_IConst_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }))) in sem_PatExpr_IConst_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }))))))) in sem_PatExpr_IConst_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }))))))))))) in sem_PatExpr_IConst_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }))))) in sem_PatExpr_IConst_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }))) in sem_PatExpr_IConst_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) sem_PatExpr_CConst :: Range -> Char -> T_PatExpr sem_PatExpr_CConst hsrange_ char_ | hsrange_ `seq` (char_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_CConst_1 :: T_PatExpr_1 sem_PatExpr_CConst_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup176 | __tup176 `seq` (True) -> (case (__tup176) of { (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_CConst_2 :: T_PatExpr_2 sem_PatExpr_CConst_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_CConst_3 :: T_PatExpr_3 sem_PatExpr_CConst_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_lhsIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_lhsIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_lhsItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_lhsItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_CConst_4 :: T_PatExpr_4 sem_PatExpr_CConst_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup176) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_CConst_5 :: T_PatExpr_5 sem_PatExpr_CConst_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (Ty_Any) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_CConst_6 :: T_PatExpr_6 sem_PatExpr_CConst_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_lhsIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_CConst_7 :: T_PatExpr_7 sem_PatExpr_CConst_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (tyChar) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_CConst_8 :: T_PatExpr_8 sem_PatExpr_CConst_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp (show char_)) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","CConst"] [_pp] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Char _cpNm _acorety char_) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ([]) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_CConst_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_CConst_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) })))))))) in sem_PatExpr_CConst_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }))) in sem_PatExpr_CConst_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }))))))) in sem_PatExpr_CConst_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }))))))))))) in sem_PatExpr_CConst_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }))))) in sem_PatExpr_CConst_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }))) in sem_PatExpr_CConst_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) sem_PatExpr_Con :: Range -> HsName -> T_PatExpr sem_PatExpr_Con hsrange_ nm_ | hsrange_ `seq` (nm_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Con_1 :: T_PatExpr_1 sem_PatExpr_Con_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq3) -> (__cont,lUniq,lUniq2,lUniq3)}}} )) of { __tup179 | __tup179 `seq` (True) -> (case (__tup179) of { (_lhsOgUniq,_,_,_) | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Con_2 :: T_PatExpr_2 sem_PatExpr_Con_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Con_3 :: T_PatExpr_3 sem_PatExpr_Con_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_lhsIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_lhsIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_lhsItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_lhsItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Con_4 :: T_PatExpr_4 sem_PatExpr_Con_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup179) of { (_,_lUniq,_,_) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Con_5 :: T_PatExpr_5 sem_PatExpr_Con_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (__tup179) of { (_,_,_lUniq2,_) | _lUniq2 `seq` (True) -> (case (let [a,r] = mkNewTyVarL 2 _lUniq in (a,r)) of { __tup178 | __tup178 `seq` (True) -> (case (__tup178) of { (_,_tvarv2_) | _tvarv2_ `seq` (True) -> (case (__tup178) of { (_tvarv1_,_) | _tvarv1_ `seq` (True) -> (case ([_tvarv1_ ] `appArr` _tvarv2_) of { _knTyShape | _knTyShape `seq` (True) -> (case (valGamLookupTy (hsnUn nm_) _lhsIvalGam) of { __tup177 | __tup177 `seq` (True) -> (case (__tup177) of { (_ty_g_,_) | _ty_g_ `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (fitsIn instFIOpts _fe _lUniq2 (emptyVarMp :: VarMp) _ty_g_ _knTyShape) of { _fo_fitP_ | _fo_fitP_ `seq` (True) -> (case (foVarMp _fo_fitP_) of { _tyVarMp_p_ | _tyVarMp_p_ `seq` (True) -> (case (_tyVarMp_p_ `varUpd` foTy _fo_fitP_) of { _patFunTy | _patFunTy `seq` (True) -> (case (_patFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Con_6 :: T_PatExpr_6 sem_PatExpr_Con_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (__tup179) of { (_,_,_,_lUniq3) | _lUniq3 `seq` (True) -> (case (fitsIn _lhsIfiOpts _fe _lUniq3 (_tyVarMp_p_ `varUpd` _lhsIpatTyVarMp) _lhsIknTy _tvarv1_) of { _fo_fitR_ | _fo_fitR_ `seq` (True) -> (case (foVarMp _fo_fitR_ `varUpd` _tyVarMp_p_ `varUpd` _lhsIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_lhsIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Con_7 :: T_PatExpr_7 sem_PatExpr_Con_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (foTy _fo_fitR_) of { _ty_r_ | _ty_r_ `seq` (True) -> (case (_ty_r_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Con_8 :: T_PatExpr_8 sem_PatExpr_Con_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (nm_) of { _appFunNm | _appFunNm `seq` (True) -> (case (_appFunNm) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppCon nm_) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (__tup177) of { (_,_nmErrs) | _nmErrs `seq` (True) -> (case (rngLift _range mkNestErr' _pp [Seq.fromList _nmErrs, foErrSq _fo_fitP_, foErrSq _fo_fitR_]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _fsRPatL | _fsRPatL `seq` (True) -> (case (_fsRPatL) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (mentrelFilterMpSingleton [_lhsImoduleNm] IdOcc_Val nm_ `mentrelFilterMpUnion` tyUsedNames _lhsImoduleNm _ty_g_) of { _gathMentrelFilterMp | _gathMentrelFilterMp `seq` (True) -> (case (_gathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case ((_lhsItr TraceOn_EhValGam $ ["PatExpr.Con" >#< hsnUn nm_] ++ [ "ty_g_=" >#< ppTy _ty_g_, "@lhs.patTyVarMp |=> ty_g_=" >#< ppTy (_lhsIpatTyVarMp `varUpd` _ty_g_), "patFunTy=" >#< ppTy _patFunTy ])) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","Con"] [ppTrNm nm_] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_tvarv1_) of { _knPatTy | _knPatTy `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _knPatTy) of { _finKnPatTy | _finKnPatTy `seq` (True) -> (case (tyConNm $ fst $ appUnApp _finKnPatTy) of { _tyConNm | _tyConNm `seq` (True) -> (case (ehcOptFromJust _lhsIopts ("PatExpr.{AppTop,Con}.dgi: " ++ show _tyConNm ++ (showPP $ ppParens _finKnPatTy)) emptyDataGamInfo $ dataGamLookup _tyConNm $ _lhsIdataGam) of { _dgi | _dgi `seq` (True) -> (case (ehcOptFromJust _lhsIopts ("PatExpr.{AppTop,Con}.dti: " ++ show _tyConNm ++ "." ++ show _appFunNm) emptyDataTagInfo $ Map.lookup _appFunNm $ dgiConstrTagMp _dgi) of { _dti | _dti `seq` (True) -> (case (dtiCTag _dti) of { _tag | _tag `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Con _cpNm _acorety _tag (RPatConBind_One CPatRest_Empty [])) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_trppHere) of { _trpp | _trpp `seq` (True) -> (case (_trpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ([]) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Con_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Con_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) })))))))) in sem_PatExpr_Con_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))) in sem_PatExpr_Con_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }))))))) in sem_PatExpr_Con_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }))))))))))) in sem_PatExpr_Con_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }))))) in sem_PatExpr_Con_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }))) in sem_PatExpr_Con_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) sem_PatExpr_Var :: Range -> HsName -> T_PatExpr sem_PatExpr_Var hsrange_ nm_ | hsrange_ `seq` (nm_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Var_1 :: T_PatExpr_1 sem_PatExpr_Var_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq_4_fo) -> (__cont,lUniq,lUniq2,lUniq_4_fo)}}} )) of { __tup183 | __tup183 `seq` (True) -> (case (__tup183) of { (_lhsOgUniq,_,_,_) | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Var_2 :: T_PatExpr_2 sem_PatExpr_Var_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Var_3 :: T_PatExpr_3 sem_PatExpr_Var_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_lhsIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_lhsIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_lhsItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_lhsItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Var_4 :: T_PatExpr_4 sem_PatExpr_Var_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup183) of { (_,_lUniq,_,_) | _lUniq `seq` (True) -> (case (if hsnIsWild nm_ then uidHNm _lUniq else nm_) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Var_5 :: T_PatExpr_5 sem_PatExpr_Var_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (if hsnIsWild nm_ then Nothing else Just nm_) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (Ty_Any) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Var_6 :: T_PatExpr_6 sem_PatExpr_Var_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (__tup183) of { (_,_,_,_lUniq_4_fo) | _lUniq_4_fo `seq` (True) -> (case (__tup183) of { (_,_,_lUniq2,_) | _lUniq2 `seq` (True) -> (case (tyAsVarMp' tyEnsureNonAnyImpl _lUniq _lhsIknTy) of { __tup182 | __tup182 `seq` (True) -> (case (__tup182) of { (_ty_kn_ensured,_) | _ty_kn_ensured `seq` (True) -> (case (_ty_kn_ensured) of { _ty_kn_ | _ty_kn_ `seq` (True) -> (case (__tup182) of { (_,_patTyVarMpKnTyEns) | _patTyVarMpKnTyEns `seq` (True) -> (case (_patTyVarMpKnTyEns `varUpd` _lhsIpatTyVarMp) of { _patTyVarMpKnTy1 | _patTyVarMpKnTy1 `seq` (True) -> (case (valGamLookupTy nm_ _lhsItySigGam) of { __tup180 | __tup180 `seq` (True) -> (case (__tup180) of { (_ty_g_,_) | _ty_g_ `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (fitsIn _lhsIfiOpts _fe _lUniq_4_fo _patTyVarMpKnTy1 _ty_kn_ _ty_g_) of { _fo_ | _fo_ `seq` (True) -> (case (tyAsVarMp' tyInst1Exists _lUniq2 (foTy _fo_)) of { __tup181 | __tup181 `seq` (True) -> (case (__tup181) of { (_,_patTyVarMpKnEx) | _patTyVarMpKnEx `seq` (True) -> (case (__tup181) of { (_ty,_) | _ty `seq` (True) -> (case (tyRestrictKiVarMp [_ty] `varUpd` _patTyVarMpKnEx `varUpd` foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_ty) of { _varTy | _varTy `seq` (True) -> (case (if _lhsIinclVarBind && not (hsnIsWild nm_) then \g -> gamAdd nm_ (ValGamInfo _varTy) g else id) of { _addToGam | _addToGam `seq` (True) -> (case (_addToGam _lhsIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Var_7 :: T_PatExpr_7 sem_PatExpr_Var_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (gamSingleton nm_ _lhsIpredScope) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Var_8 :: T_PatExpr_8 sem_PatExpr_Var_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp nm_) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Var nm_) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","Var"] [ppTrNm nm_] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Var _cpNm _acorety False) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ([]) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Var_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Var_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Var_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }))) in sem_PatExpr_Var_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }))))))) in sem_PatExpr_Var_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }))))))))))) in sem_PatExpr_Var_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }))))) in sem_PatExpr_Var_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }))) in sem_PatExpr_Var_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) sem_PatExpr_VarAs :: Range -> HsName -> T_PatExpr -> T_PatExpr sem_PatExpr_VarAs hsrange_ nm_ patExpr_ | hsrange_ `seq` (nm_ `seq` (patExpr_ `seq` (True))) = (case (patExpr_) of { ( _patExprIrange,patExpr_1) | True -> (case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_VarAs_1 :: T_PatExpr_1 sem_PatExpr_VarAs_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq_4_fo) -> (__cont,lUniq,lUniq2,lUniq_4_fo)}}} )) of { __tup186 | __tup186 `seq` (True) -> (case (__tup186) of { (_patExprOgUniq,_,_,_) | _patExprOgUniq `seq` (True) -> (case (patExpr_1 _patExprOgUniq) of { ( _patExprIgUniq,patExpr_2) | True -> (case (_patExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_VarAs_2 :: T_PatExpr_2 sem_PatExpr_VarAs_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _patExprOlexLev | _patExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _patExprOkiGam | _patExprOkiGam `seq` (True) -> (case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of { ( _patExprIpredSameScopeCounter,patExpr_3) | True -> (case (_patExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_VarAs_3 :: T_PatExpr_3 sem_PatExpr_VarAs_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _patExprOtyGam | _patExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _patExprOpredScope | _patExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _patExprOpolGam | _patExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _patExprOopts | _patExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _patExprOgenerDataInfoMp | _patExprOgenerDataInfoMp `seq` (True) -> (case (patExpr_3 _patExprOgenerDataInfoMp _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of { ( _patExprIgenerDataInfoMp,_patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True -> (case (_patExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_patExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_patExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_patExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_patExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_VarAs_4 :: T_PatExpr_4 sem_PatExpr_VarAs_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _patExprOdataGam | _patExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _patExprOclGam | _patExprOclGam `seq` (True) -> (case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of { ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True -> (case (_patExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup186) of { (_,_lUniq,_,_) | _lUniq `seq` (True) -> (case (if hsnIsWild nm_ then uidHNm _lUniq else nm_) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_VarAs_5 :: T_PatExpr_5 sem_PatExpr_VarAs_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (_lhsIvalGam) of { _patExprOvalGam | _patExprOvalGam `seq` (True) -> (case (patExpr_5 _patExprOvalGam) of { ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True -> (case (_patExprIarity) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (if hsnIsWild nm_ then Nothing else Just nm_) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_patExprIpatFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_VarAs_6 :: T_PatExpr_6 sem_PatExpr_VarAs_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _patExprOtySigGam | _patExprOtySigGam `seq` (True) -> (case (_lhsIknTyL) of { _patExprOknTyL | _patExprOknTyL `seq` (True) -> (case (_lhsIinclVarBind) of { _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _patExprOfiOpts | _patExprOfiOpts `seq` (True) -> (case (__tup186) of { (_,_,_,_lUniq_4_fo) | _lUniq_4_fo `seq` (True) -> (case (__tup186) of { (_,_,_lUniq2,_) | _lUniq2 `seq` (True) -> (case (_lhsIpatTyVarMp) of { _patTyVarMpKnTy1 | _patTyVarMpKnTy1 `seq` (True) -> (case (tyEnsureNonAny _lUniq _lhsIknTy) of { _ty_kn_ | _ty_kn_ `seq` (True) -> (case (valGamLookupTy nm_ _lhsItySigGam) of { __tup184 | __tup184 `seq` (True) -> (case (__tup184) of { (_ty_g_,_) | _ty_g_ `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (fitsIn _lhsIfiOpts _fe _lUniq_4_fo _patTyVarMpKnTy1 _ty_kn_ _ty_g_) of { _fo_ | _fo_ `seq` (True) -> (case (tyAsVarMp' tyInst1Exists _lUniq2 (foTy _fo_)) of { __tup185 | __tup185 `seq` (True) -> (case (__tup185) of { (_,_patTyVarMpKnEx) | _patTyVarMpKnEx `seq` (True) -> (case (__tup185) of { (_ty,_) | _ty `seq` (True) -> (case (tyRestrictKiVarMp [_ty] `varUpd` _patTyVarMpKnEx `varUpd` foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of { _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) -> (case (_ty) of { _patExprOknTy | _patExprOknTy `seq` (True) -> (case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of { ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True -> (case (_patExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_ty) of { _varTy | _varTy `seq` (True) -> (case (if _lhsIinclVarBind && not (hsnIsWild nm_) then \g -> gamAdd nm_ (ValGamInfo _varTy) g else id) of { _addToGam | _addToGam `seq` (True) -> (case (_addToGam _patExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_VarAs_7 :: T_PatExpr_7 sem_PatExpr_VarAs_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _patExprOclDfGam | _patExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _patExprOchrStore | _patExprOchrStore `seq` (True) -> (case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of { ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True -> (case (_patExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_patExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_patExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_patExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_VarAs_8 :: T_PatExpr_8 sem_PatExpr_VarAs_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _patExprOrangeMp | _patExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _patExprOfinValGam | _patExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _patExprOtr | _patExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _patExprOceParentNm | _patExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _patExprOcSubst | _patExprOcSubst `seq` (True) -> (case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtr _patExprOtySigVarMp) of { ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIppAST,_patExprIrpat,_patExprItrpp,_patExprIvalCBindL) | True -> (case (_patExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp nm_ >|< "@" >|< _patExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_patExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_patExprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_patExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_patExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","VarAs"] [ppTrNm nm_] [_patExprIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_patExprIrpat {rcpPNm = _cpNm}) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_patExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case (_patExprIvalCBindL) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_VarAs_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_VarAs_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_VarAs_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }))) in sem_PatExpr_VarAs_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_VarAs_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_VarAs_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_VarAs_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_VarAs_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_App :: Range -> T_PatExpr -> T_PatExpr -> T_PatExpr sem_PatExpr_App hsrange_ func_ arg_ | hsrange_ `seq` (func_ `seq` (arg_ `seq` (True))) = (case (arg_) of { ( _argIrange,arg_1) | True -> (case (func_) of { ( _funcIrange,func_1) | True -> (case (rangeUnions [hsrange_, _funcIrange , _argIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_App_1 :: T_PatExpr_1 sem_PatExpr_App_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup189 | __tup189 `seq` (True) -> (case (__tup189) of { (_funcOgUniq,_) | _funcOgUniq `seq` (True) -> (case (func_1 _funcOgUniq) of { ( _funcIgUniq,func_2) | True -> (case (_funcIgUniq) of { _argOgUniq | _argOgUniq `seq` (True) -> (case (arg_1 _argOgUniq) of { ( _argIgUniq,arg_2) | True -> (case (_argIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_App_2 :: T_PatExpr_2 sem_PatExpr_App_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _funcOpredSameScopeCounter | _funcOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _funcOlexLev | _funcOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _funcOkiGam | _funcOkiGam `seq` (True) -> (case (func_2 _funcOkiGam _funcOlexLev _funcOpredSameScopeCounter) of { ( _funcIpredSameScopeCounter,func_3) | True -> (case (_funcIpredSameScopeCounter) of { _argOpredSameScopeCounter | _argOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _argOlexLev | _argOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _argOkiGam | _argOkiGam `seq` (True) -> (case (arg_2 _argOkiGam _argOlexLev _argOpredSameScopeCounter) of { ( _argIpredSameScopeCounter,arg_3) | True -> (case (_argIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_App_3 :: T_PatExpr_3 sem_PatExpr_App_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _argOtyKiGlobFreeTvarS | _argOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _funcOtyKiGlobFreeTvarS | _funcOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _funcOtyKiGam | _funcOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _funcOtyGam | _funcOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _funcOpredScope | _funcOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _funcOpolVarMp | _funcOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _funcOpolGam | _funcOpolGam `seq` (True) -> (case (_lhsIopts) of { _funcOopts | _funcOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _funcOkiVarMp | _funcOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _funcOgenerDataInfoMp | _funcOgenerDataInfoMp `seq` (True) -> (case (func_3 _funcOgenerDataInfoMp _funcOkiVarMp _funcOopts _funcOpolGam _funcOpolVarMp _funcOpredScope _funcOtyGam _funcOtyKiGam _funcOtyKiGlobFreeTvarS) of { ( _funcIgenerDataInfoMp,_funcIkiVarMp,_funcIpolVarMp,_funcItyGam,_funcItyKiGam,func_4) | True -> (case (_funcItyKiGam) of { _argOtyKiGam | _argOtyKiGam `seq` (True) -> (case (_funcItyGam) of { _argOtyGam | _argOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _argOpredScope | _argOpredScope `seq` (True) -> (case (_funcIpolVarMp) of { _argOpolVarMp | _argOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _argOpolGam | _argOpolGam `seq` (True) -> (case (_lhsIopts) of { _argOopts | _argOopts `seq` (True) -> (case (_funcIkiVarMp) of { _argOkiVarMp | _argOkiVarMp `seq` (True) -> (case (_funcIgenerDataInfoMp) of { _argOgenerDataInfoMp | _argOgenerDataInfoMp `seq` (True) -> (case (arg_3 _argOgenerDataInfoMp _argOkiVarMp _argOopts _argOpolGam _argOpolVarMp _argOpredScope _argOtyGam _argOtyKiGam _argOtyKiGlobFreeTvarS) of { ( _argIgenerDataInfoMp,_argIkiVarMp,_argIpolVarMp,_argItyGam,_argItyKiGam,arg_4) | True -> (case (_argIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_argIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_argIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_argItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_argItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_App_4 :: T_PatExpr_4 sem_PatExpr_App_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _argOtyTyTySigFreeTvarS | _argOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _argOfinTyKiGam | _argOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _argOfinKiVarMp | _argOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _argOdataGam | _argOdataGam `seq` (True) -> (case (_lhsIclGam) of { _argOclGam | _argOclGam `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _funcOtyTyTySigFreeTvarS | _funcOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _funcOfinTyKiGam | _funcOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _funcOfinKiVarMp | _funcOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _funcOdataGam | _funcOdataGam `seq` (True) -> (case (_lhsIclGam) of { _funcOclGam | _funcOclGam `seq` (True) -> (case (arg_4 _argOclGam _argOdataGam _argOfinKiVarMp _argOfinTyKiGam _argOtyTyTySigFreeTvarS) of { ( _argIchrInstDeclSq,_argItopNm,arg_5) | True -> (case (func_4 _funcOclGam _funcOdataGam _funcOfinKiVarMp _funcOfinTyKiGam _funcOtyTyTySigFreeTvarS) of { ( _funcIchrInstDeclSq,_funcItopNm,func_5) | True -> (case (_funcIchrInstDeclSq `Seq.union` _argIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (hsnUnknown) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_App_5 :: T_PatExpr_5 sem_PatExpr_App_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (_lhsIvalGam) of { _funcOvalGam | _funcOvalGam `seq` (True) -> (case (func_5 _funcOvalGam) of { ( _funcIarity,_funcImbTopNm,_funcIpatFunTy,func_6) | True -> (case (_funcIarity + 1) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_funcIpatFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_App_6 :: T_PatExpr_6 sem_PatExpr_App_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _funcOtySigGam | _funcOtySigGam `seq` (True) -> (case (_lhsIpatTyVarMp) of { _funcOpatTyVarMp | _funcOpatTyVarMp `seq` (True) -> (case (hdAndTl _lhsIknTyL) of { __tup188 | __tup188 `seq` (True) -> (case (__tup188) of { (_,_knTyL) | _knTyL `seq` (True) -> (case (_knTyL) of { _funcOknTyL | _funcOknTyL `seq` (True) -> (case (_lhsIinclVarBind) of { _funcOinclVarBind | _funcOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _funcOfiOpts | _funcOfiOpts `seq` (True) -> (case (Ty_Any) of { _funcOknTy | _funcOknTy `seq` (True) -> (case (func_6 _funcOfiOpts _funcOinclVarBind _funcOknTy _funcOknTyL _funcOpatTyVarMp _funcOtySigGam) of { ( _funcIpatTyVarMp,_funcIvalGam,func_7) | True -> (case (_funcIvalGam) of { _argOvalGam | _argOvalGam `seq` (True) -> (case (_lhsItySigGam) of { _argOtySigGam | _argOtySigGam `seq` (True) -> (case (_funcIpatTyVarMp) of { _argOpatTyVarMp | _argOpatTyVarMp `seq` (True) -> (case (_knTyL) of { _argOknTyL | _argOknTyL `seq` (True) -> (case (_lhsIinclVarBind) of { _argOinclVarBind | _argOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _argOfiOpts | _argOfiOpts `seq` (True) -> (case (__tup188) of { (_knArgTy,_) | _knArgTy `seq` (True) -> (case (_knArgTy) of { _argOknTy | _argOknTy `seq` (True) -> (case (arg_5 _argOvalGam) of { ( _argIarity,_argImbTopNm,_argIpatFunTy,arg_6) | True -> (case (arg_6 _argOfiOpts _argOinclVarBind _argOknTy _argOknTyL _argOpatTyVarMp _argOtySigGam) of { ( _argIpatTyVarMp,_argIvalGam,arg_7) | True -> (case (_argIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_argIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_App_7 :: T_PatExpr_7 sem_PatExpr_App_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _argOvalTyGlobFreeTvarS | _argOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _funcOvalTyGlobFreeTvarS | _funcOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _funcOtyVarMp | _funcOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _funcOtyTyGlobFreeTvarS | _funcOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _funcOtvKiVarMp | _funcOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _funcOclDfGam | _funcOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _funcOchrStore | _funcOchrStore `seq` (True) -> (case (func_7 _funcOchrStore _funcOclDfGam _funcOtvKiVarMp _funcOtyTyGlobFreeTvarS _funcOtyVarMp _funcOvalTyGlobFreeTvarS) of { ( _funcIcpNm,_funcIgathCnstrMp,_funcIgathRangeMp,_funcIscopeGam,_funcIty,_funcItyVarMp,func_8) | True -> (case (_funcItyVarMp) of { _argOtyVarMp | _argOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _argOtyTyGlobFreeTvarS | _argOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _argOtvKiVarMp | _argOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _argOclDfGam | _argOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _argOchrStore | _argOchrStore `seq` (True) -> (case (arg_7 _argOchrStore _argOclDfGam _argOtvKiVarMp _argOtyTyGlobFreeTvarS _argOtyVarMp _argOvalTyGlobFreeTvarS) of { ( _argIcpNm,_argIgathCnstrMp,_argIgathRangeMp,_argIscopeGam,_argIty,_argItyVarMp,arg_8) | True -> (case (_argIcpNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_funcIgathCnstrMp `cnstrMpUnion` _argIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_funcIgathRangeMp `Map.union` _argIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_funcIscopeGam `gamUnion` _argIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_argIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_argItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_App_8 :: T_PatExpr_8 sem_PatExpr_App_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _argOsysfEnv | _argOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _argOrangeMp | _argOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _argOfinValGam | _argOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _argOfinTyVarMp | _argOfinTyVarMp `seq` (True) -> (case (_lhsIsysfEnv) of { _funcOsysfEnv | _funcOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _funcOrangeMp | _funcOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _funcOfinValGam | _funcOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _funcOfinTyVarMp | _funcOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _argOtySigVarMp | _argOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _argOtr | _argOtr `seq` (True) -> (case (_lhsImoduleNm) of { _argOmoduleNm | _argOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _argOchrScopeBindMp | _argOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _argOchrEvidBindMp | _argOchrEvidBindMp `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _funcOchrScopeBindMp | _funcOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _funcOchrEvidBindMp | _funcOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _funcOcSubst | _funcOcSubst `seq` (True) -> (case (_lhsItySigVarMp) of { _funcOtySigVarMp | _funcOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _funcOtr | _funcOtr `seq` (True) -> (case (_lhsImoduleNm) of { _funcOmoduleNm | _funcOmoduleNm `seq` (True) -> (case (_lhsIceParentNm) of { _funcOceParentNm | _funcOceParentNm `seq` (True) -> (case (func_8 _funcOcSubst _funcOceParentNm _funcOchrEvidBindMp _funcOchrScopeBindMp _funcOfinTyVarMp _funcOfinValGam _funcOmoduleNm _funcOrangeMp _funcOsysfEnv _funcOtr _funcOtySigVarMp) of { ( _funcIallErrSq,_funcIappArgPPL,_funcIappFunNm,_funcIappFunPP,_funcIcSubst,_funcIerrSq,_funcIfsRPatL,_funcIgathMentrelFilterMp,_funcIgathTvKiVarMp,_funcIisBang,_funcIpatCRest,_funcIpp,_funcIppAST,_funcIrpat,_funcItrpp,_funcIvalCBindL) | True -> (case (_funcIcSubst) of { _argOcSubst | _argOcSubst `seq` (True) -> (case (rpatNmNm _argIcpNm) of { _argOceParentNm | _argOceParentNm `seq` (True) -> (case (arg_8 _argOcSubst _argOceParentNm _argOchrEvidBindMp _argOchrScopeBindMp _argOfinTyVarMp _argOfinValGam _argOmoduleNm _argOrangeMp _argOsysfEnv _argOtr _argOtySigVarMp) of { ( _argIallErrSq,_argIappArgPPL,_argIappFunNm,_argIappFunPP,_argIcSubst,_argIerrSq,_argIfsRPatL,_argIgathMentrelFilterMp,_argIgathTvKiVarMp,_argIisBang,_argIpatCRest,_argIpp,_argIppAST,_argIrpat,_argItrpp,_argIvalCBindL) | True -> (case (_funcIallErrSq `Seq.union` _argIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case (mkExtAppPP (_funcIappFunNm,_funcIappFunPP,_funcIappArgPPL) (_argIappFunNm,_argIappFunPP,_argIappArgPPL,_argIpp)) of { __tup187 | __tup187 `seq` (True) -> (case (__tup187) of { (_,_lhsOappArgPPL) | _lhsOappArgPPL `seq` (True) -> (case (_funcIappFunNm) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (__tup187) of { (_lhsOappFunPP,_) | _lhsOappFunPP `seq` (True) -> (case (_argIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_funcIerrSq `Seq.union` _argIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ((FldImplicitOffset,_argIrpat) : _funcIfsRPatL) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_funcIgathMentrelFilterMp `mentrelFilterMpUnion` _argIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_funcIgathTvKiVarMp `varmpUnion` _argIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_funcIpp >#< _argIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","App"] [] [_funcIppAST,_argIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_argIrpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_funcItrpp >< _argItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case (_funcIvalCBindL ++ _argIvalCBindL) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_App_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_App_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_App_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }))) in sem_PatExpr_App_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_App_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_App_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }) }) }) }) }))))) in sem_PatExpr_App_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }) }) }))) in sem_PatExpr_App_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) }) sem_PatExpr_AppTop :: Range -> T_PatExpr -> T_PatExpr sem_PatExpr_AppTop hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) = (case (patExpr_) of { ( _patExprIrange,patExpr_1) | True -> (case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_AppTop_1 :: T_PatExpr_1 sem_PatExpr_AppTop_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup192 | __tup192 `seq` (True) -> (case (__tup192) of { (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) -> (case (patExpr_1 _patExprOgUniq) of { ( _patExprIgUniq,patExpr_2) | True -> (case (_patExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_AppTop_2 :: T_PatExpr_2 sem_PatExpr_AppTop_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _patExprOlexLev | _patExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _patExprOkiGam | _patExprOkiGam `seq` (True) -> (case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of { ( _patExprIpredSameScopeCounter,patExpr_3) | True -> (case (_patExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_AppTop_3 :: T_PatExpr_3 sem_PatExpr_AppTop_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _patExprOtyGam | _patExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _patExprOpredScope | _patExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _patExprOpolGam | _patExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _patExprOopts | _patExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _patExprOgenerDataInfoMp | _patExprOgenerDataInfoMp `seq` (True) -> (case (patExpr_3 _patExprOgenerDataInfoMp _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of { ( _patExprIgenerDataInfoMp,_patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True -> (case (_patExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_patExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_patExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_patExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_patExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_AppTop_4 :: T_PatExpr_4 sem_PatExpr_AppTop_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _patExprOdataGam | _patExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _patExprOclGam | _patExprOclGam `seq` (True) -> (case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of { ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True -> (case (_patExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup192) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_AppTop_5 :: T_PatExpr_5 sem_PatExpr_AppTop_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_lhsIvalGam) of { _patExprOvalGam | _patExprOvalGam `seq` (True) -> (case (patExpr_5 _patExprOvalGam) of { ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True -> (case (_patExprIpatFunTy) of { _patFunTy | _patFunTy `seq` (True) -> (case (_patFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_AppTop_6 :: T_PatExpr_6 sem_PatExpr_AppTop_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _patExprOtySigGam | _patExprOtySigGam `seq` (True) -> (case (appUn1Arr _patFunTy) of { __tup191 | __tup191 `seq` (True) -> (case (__tup191) of { (_,_knProdTy) | _knProdTy `seq` (True) -> (case (tyProdArgs _knProdTy) of { _prodTyL | _prodTyL `seq` (True) -> (case (case _prodTyL of tL | _patExprIarity == length tL -> (reverse tL,[]) _ -> (repeat Ty_Any , [rngLift _range Err_PatArity2 "type" (ppTy _knProdTy) _patExprIarity])) of { __tup190 | __tup190 `seq` (True) -> (case (__tup190) of { (_knTyL,_) | _knTyL `seq` (True) -> (case (_knTyL) of { _patExprOknTyL | _patExprOknTyL `seq` (True) -> (case (_lhsIknTy) of { _patExprOknTy | _patExprOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _patExprOfiOpts | _patExprOfiOpts `seq` (True) -> (case (True) of { _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) -> (case (__tup191) of { (_knPatTy,_) | _knPatTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (fitsIn _lhsIfiOpts _fe _lUniq _lhsIpatTyVarMp _lhsIknTy _knPatTy) of { _fo_fitR_ | _fo_fitR_ `seq` (True) -> (case (foVarMp _fo_fitR_ `varUpd` _lhsIpatTyVarMp) of { _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) -> (case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of { ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True -> (case (_patExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_patExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_AppTop_7 :: T_PatExpr_7 sem_PatExpr_AppTop_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _patExprOclDfGam | _patExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _patExprOchrStore | _patExprOchrStore `seq` (True) -> (case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of { ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True -> (case (_patExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_patExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_patExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (foTy _fo_fitR_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_patExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_AppTop_8 :: T_PatExpr_8 sem_PatExpr_AppTop_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _patExprOrangeMp | _patExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _patExprOfinValGam | _patExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _patExprOtr | _patExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _patExprOceParentNm | _patExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _patExprOcSubst | _patExprOcSubst `seq` (True) -> (case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtr _patExprOtySigVarMp) of { ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIppAST,_patExprIrpat,_patExprItrpp,_patExprIvalCBindL) | True -> (case (_patExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppAppTop (_patExprIappFunNm,_patExprIappFunPP) _patExprIappArgPPL _patExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_patExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (__tup190) of { (_,_arityErrs) | _arityErrs `seq` (True) -> (case (rngLift _range mkNestErr' _pp [_patExprIerrSq, Seq.fromList _arityErrs, foErrSq _fo_fitR_]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_patExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_patExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","AppTop"] [] [_patExprIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_patExprIappFunNm) of { _appFunNm | _appFunNm `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _knPatTy) of { _finKnPatTy | _finKnPatTy `seq` (True) -> (case (_patExprIfsRPatL) of { _fsRPatL | _fsRPatL `seq` (True) -> (case (fsL2PatOffsetL _lhsIopts $ reverse $ _fsRPatL) of { _rpatBinds | _rpatBinds `seq` (True) -> (case (CPatRest_Empty) of { _rest | _rest `seq` (True) -> (case (tyConNm $ fst $ appUnApp _finKnPatTy) of { _tyConNm | _tyConNm `seq` (True) -> (case (ehcOptFromJust _lhsIopts ("PatExpr.{AppTop,Con}.dgi: " ++ show _tyConNm ++ (showPP $ ppParens _finKnPatTy)) emptyDataGamInfo $ dataGamLookup _tyConNm $ _lhsIdataGam) of { _dgi | _dgi `seq` (True) -> (case (ehcOptFromJust _lhsIopts ("PatExpr.{AppTop,Con}.dti: " ++ show _tyConNm ++ "." ++ show _appFunNm) emptyDataTagInfo $ Map.lookup _appFunNm $ dgiConstrTagMp _dgi) of { _dti | _dti `seq` (True) -> (case (dtiCTag _dti) of { _tag | _tag `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Con _cpNm _acorety _tag (RPatConBind_One _rest (map fst _rpatBinds))) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_patExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (_patExprIvalCBindL) of { _valCBindLSub | _valCBindLSub `seq` (True) -> (case (acoreRPatBindL2BindL _rceEnv (not $ null _valCBindLSub) _lhsIceParentNm _tag (Just (_rest,length _fsRPatL)) _rpatBinds) of { _valCBindL | _valCBindL `seq` (True) -> (case (_valCBindL ++ _valCBindLSub) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_AppTop_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_AppTop_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_AppTop_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }) }))) in sem_PatExpr_AppTop_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_AppTop_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_AppTop_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_AppTop_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_AppTop_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_Parens :: Range -> T_PatExpr -> T_PatExpr sem_PatExpr_Parens hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) = (case (patExpr_) of { ( _patExprIrange,patExpr_1) | True -> (case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Parens_1 :: T_PatExpr_1 sem_PatExpr_Parens_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup193 | __tup193 `seq` (True) -> (case (__tup193) of { (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) -> (case (patExpr_1 _patExprOgUniq) of { ( _patExprIgUniq,patExpr_2) | True -> (case (_patExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Parens_2 :: T_PatExpr_2 sem_PatExpr_Parens_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _patExprOlexLev | _patExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _patExprOkiGam | _patExprOkiGam `seq` (True) -> (case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of { ( _patExprIpredSameScopeCounter,patExpr_3) | True -> (case (_patExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Parens_3 :: T_PatExpr_3 sem_PatExpr_Parens_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _patExprOtyGam | _patExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _patExprOpredScope | _patExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _patExprOpolGam | _patExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _patExprOopts | _patExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _patExprOgenerDataInfoMp | _patExprOgenerDataInfoMp `seq` (True) -> (case (patExpr_3 _patExprOgenerDataInfoMp _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of { ( _patExprIgenerDataInfoMp,_patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True -> (case (_patExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_patExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_patExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_patExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_patExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Parens_4 :: T_PatExpr_4 sem_PatExpr_Parens_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _patExprOdataGam | _patExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _patExprOclGam | _patExprOclGam `seq` (True) -> (case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of { ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True -> (case (_patExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (_patExprItopNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Parens_5 :: T_PatExpr_5 sem_PatExpr_Parens_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (_lhsIvalGam) of { _patExprOvalGam | _patExprOvalGam `seq` (True) -> (case (patExpr_5 _patExprOvalGam) of { ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True -> (case (_patExprIarity) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_patExprIpatFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Parens_6 :: T_PatExpr_6 sem_PatExpr_Parens_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _patExprOtySigGam | _patExprOtySigGam `seq` (True) -> (case (_lhsIpatTyVarMp) of { _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) -> (case (_lhsIknTyL) of { _patExprOknTyL | _patExprOknTyL `seq` (True) -> (case (_lhsIknTy) of { _patExprOknTy | _patExprOknTy `seq` (True) -> (case (_lhsIinclVarBind) of { _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _patExprOfiOpts | _patExprOfiOpts `seq` (True) -> (case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of { ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True -> (case (_patExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_patExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Parens_7 :: T_PatExpr_7 sem_PatExpr_Parens_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _patExprOclDfGam | _patExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _patExprOchrStore | _patExprOchrStore `seq` (True) -> (case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of { ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True -> (case (_patExprIcpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_patExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_patExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_patExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_patExprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_patExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Parens_8 :: T_PatExpr_8 sem_PatExpr_Parens_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _patExprOrangeMp | _patExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _patExprOfinValGam | _patExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _patExprOtr | _patExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _patExprOceParentNm | _patExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _patExprOcSubst | _patExprOcSubst `seq` (True) -> (case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtr _patExprOtySigVarMp) of { ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIppAST,_patExprIrpat,_patExprItrpp,_patExprIvalCBindL) | True -> (case (_patExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppParens _patExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_patExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_patExprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_patExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_patExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","Parens"] [] [_patExprIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_patExprIrpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_patExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case (_patExprIvalCBindL) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Parens_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Parens_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Parens_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }))) in sem_PatExpr_Parens_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_Parens_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_Parens_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_Parens_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_Parens_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_Ann :: Range -> T_PatExprAnn -> T_PatExpr -> T_PatExpr sem_PatExpr_Ann hsrange_ ann_ patExpr_ | hsrange_ `seq` (ann_ `seq` (patExpr_ `seq` (True))) = (case (patExpr_) of { ( _patExprIrange,patExpr_1) | True -> (case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Ann_1 :: T_PatExpr_1 sem_PatExpr_Ann_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup194 | __tup194 `seq` (True) -> (case (__tup194) of { (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) -> (case (patExpr_1 _patExprOgUniq) of { ( _patExprIgUniq,patExpr_2) | True -> (case (_patExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Ann_2 :: T_PatExpr_2 sem_PatExpr_Ann_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _patExprOlexLev | _patExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _patExprOkiGam | _patExprOkiGam `seq` (True) -> (case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of { ( _patExprIpredSameScopeCounter,patExpr_3) | True -> (case (_patExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Ann_3 :: T_PatExpr_3 sem_PatExpr_Ann_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _patExprOtyGam | _patExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _patExprOpredScope | _patExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _patExprOpolGam | _patExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _patExprOopts | _patExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _patExprOgenerDataInfoMp | _patExprOgenerDataInfoMp `seq` (True) -> (case (patExpr_3 _patExprOgenerDataInfoMp _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of { ( _patExprIgenerDataInfoMp,_patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True -> (case (_patExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_patExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_patExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_patExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_patExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Ann_4 :: T_PatExpr_4 sem_PatExpr_Ann_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _patExprOdataGam | _patExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _patExprOclGam | _patExprOclGam `seq` (True) -> (case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of { ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True -> (case (_patExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (_patExprItopNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Ann_5 :: T_PatExpr_5 sem_PatExpr_Ann_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (_lhsIvalGam) of { _patExprOvalGam | _patExprOvalGam `seq` (True) -> (case (patExpr_5 _patExprOvalGam) of { ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True -> (case (_patExprIarity) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_patExprIpatFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Ann_6 :: T_PatExpr_6 sem_PatExpr_Ann_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _patExprOtySigGam | _patExprOtySigGam `seq` (True) -> (case (_lhsIpatTyVarMp) of { _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) -> (case (_lhsIknTyL) of { _patExprOknTyL | _patExprOknTyL `seq` (True) -> (case (_lhsIknTy) of { _patExprOknTy | _patExprOknTy `seq` (True) -> (case (_lhsIinclVarBind) of { _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _patExprOfiOpts | _patExprOfiOpts `seq` (True) -> (case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of { ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True -> (case (_patExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_patExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Ann_7 :: T_PatExpr_7 sem_PatExpr_Ann_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _patExprOclDfGam | _patExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _patExprOchrStore | _patExprOchrStore `seq` (True) -> (case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of { ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True -> (case (_patExprIcpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_patExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_patExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_patExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_patExprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_patExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Ann_8 :: T_PatExpr_8 sem_PatExpr_Ann_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _patExprOrangeMp | _patExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _patExprOfinValGam | _patExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _patExprOtr | _patExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _patExprOceParentNm | _patExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _patExprOcSubst | _patExprOcSubst `seq` (True) -> (case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtr _patExprOtySigVarMp) of { ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIppAST,_patExprIrpat,_patExprItrpp,_patExprIvalCBindL) | True -> (case (_patExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_patExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_patExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_patExprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_patExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_patExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (_patExprIppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_patExprIrpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_patExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case (_patExprIvalCBindL) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Ann_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Ann_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Ann_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }))) in sem_PatExpr_Ann_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_Ann_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_Ann_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_Ann_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_Ann_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_TypeAs :: Range -> T_TyExpr -> T_PatExpr -> T_PatExpr sem_PatExpr_TypeAs hsrange_ tyExpr_ patExpr_ | hsrange_ `seq` (tyExpr_ `seq` (patExpr_ `seq` (True))) = (case (patExpr_) of { ( _patExprIrange,patExpr_1) | True -> (case (tyExpr_) of { ( _tyExprIrange,tyExpr_1) | True -> (case (rangeUnions [hsrange_, _tyExprIrange , _patExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_TypeAs_1 :: T_PatExpr_1 sem_PatExpr_TypeAs_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_4_fo) -> (__cont,lUniq,lUniq_4_fo)}} )) of { __tup195 | __tup195 `seq` (True) -> (case (__tup195) of { (_tyExprOgUniq,_,_) | _tyExprOgUniq `seq` (True) -> (case (tyExpr_1 _tyExprOgUniq) of { ( _tyExprIgUniq,tyExpr_2) | True -> (case (_tyExprIgUniq) of { _patExprOgUniq | _patExprOgUniq `seq` (True) -> (case (patExpr_1 _patExprOgUniq) of { ( _patExprIgUniq,patExpr_2) | True -> (case (_patExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_TypeAs_2 :: T_PatExpr_2 sem_PatExpr_TypeAs_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _patExprOlexLev | _patExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _patExprOkiGam | _patExprOkiGam `seq` (True) -> (case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of { ( _patExprIpredSameScopeCounter,patExpr_3) | True -> (case (_patExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_TypeAs_3 :: T_PatExpr_3 sem_PatExpr_TypeAs_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _tyExprOtyKiGam | _tyExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _tyExprOtyGam | _tyExprOtyGam `seq` (True) -> (case (_lhsIpolVarMp) of { _tyExprOpolVarMp | _tyExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _tyExprOpolGam | _tyExprOpolGam `seq` (True) -> (case (polCovariant) of { _tyExprOknPolCtx | _tyExprOknPolCtx `seq` (True) -> (case (tyExpr_2 _tyExprOtyGam) of { ( _tyExprIty,_tyExprItyGam,tyExpr_3) | True -> (case (tyExpr_3 _tyExprOknPolCtx) of { ( _tyExprIpolVarL,tyExpr_4) | True -> (case (tyExpr_4 _tyExprOpolGam _tyExprOpolVarMp) of { ( _tyExprImbStrictness,_tyExprIpolVarMp,tyExpr_5) | True -> (case (tyExpr_5 _tyExprOtyKiGam) of { ( _tyExprIintlTyKiGam,_tyExprItyKiGam,tyExpr_6) | True -> (case (_tyExprItyKiGam) of { _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) -> (case (_tyExprItyGam) of { _patExprOtyGam | _patExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _patExprOpredScope | _patExprOpredScope `seq` (True) -> (case (_tyExprIpolVarMp) of { _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _patExprOpolGam | _patExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _patExprOopts | _patExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _tyExprOkiVarMp | _tyExprOkiVarMp `seq` (True) -> (case (tyExpr_6 _tyExprOkiVarMp) of { ( _tyExprIgathTyVarPolGam,_tyExprIki,_tyExprIkiVarMp,_tyExprIpol,_tyExprItyVarWildMp,tyExpr_7) | True -> (case (_tyExprIkiVarMp) of { _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _patExprOgenerDataInfoMp | _patExprOgenerDataInfoMp `seq` (True) -> (case (patExpr_3 _patExprOgenerDataInfoMp _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of { ( _patExprIgenerDataInfoMp,_patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True -> (case (_patExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_patExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_patExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_patExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_patExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_TypeAs_4 :: T_PatExpr_4 sem_PatExpr_TypeAs_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _patExprOdataGam | _patExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _patExprOclGam | _patExprOclGam `seq` (True) -> (case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of { ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True -> (case (_patExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (_patExprItopNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_TypeAs_5 :: T_PatExpr_5 sem_PatExpr_TypeAs_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (_lhsIvalGam) of { _patExprOvalGam | _patExprOvalGam `seq` (True) -> (case (patExpr_5 _patExprOvalGam) of { ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True -> (case (_patExprIarity) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_patExprIpatFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_TypeAs_6 :: T_PatExpr_6 sem_PatExpr_TypeAs_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _patExprOtySigGam | _patExprOtySigGam `seq` (True) -> (case (_lhsIknTyL) of { _patExprOknTyL | _patExprOknTyL `seq` (True) -> (case (_lhsIinclVarBind) of { _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _patExprOfiOpts | _patExprOfiOpts `seq` (True) -> (case (__tup195) of { (_,_,_lUniq_4_fo) | _lUniq_4_fo `seq` (True) -> (case (_tyExprIty) of { _ty_q_ | _ty_q_ `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (fitsIn _lhsIfiOpts _fe _lUniq_4_fo _lhsIpatTyVarMp _lhsIknTy _ty_q_) of { _fo_ | _fo_ `seq` (True) -> (case (foTy _fo_) of { _patExprOknTy | _patExprOknTy `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of { _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) -> (case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of { ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True -> (case (_patExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_patExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_TypeAs_7 :: T_PatExpr_7 sem_PatExpr_TypeAs_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _patExprOclDfGam | _patExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _patExprOchrStore | _patExprOchrStore `seq` (True) -> (case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of { ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True -> (case (_patExprIcpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_patExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_patExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_patExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_patExprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_patExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_TypeAs_8 :: T_PatExpr_8 sem_PatExpr_TypeAs_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _patExprOrangeMp | _patExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _patExprOfinValGam | _patExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _patExprOtr | _patExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _patExprOceParentNm | _patExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _patExprOcSubst | _patExprOcSubst `seq` (True) -> (case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtr _patExprOtySigVarMp) of { ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIppAST,_patExprIrpat,_patExprItrpp,_patExprIvalCBindL) | True -> (case (_lhsIclGam) of { _tyExprOclGam | _tyExprOclGam `seq` (True) -> (case (tyExpr_7 _tyExprOclGam) of { ( _tyExprIevTy,tyExpr_8) | True -> (case (_lhsIvalTyGlobFreeTvarS) of { _tyExprOvalTyGlobFreeTvarS | _tyExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _tyExprOtyTyTySigFreeTvarS | _tyExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _tyExprOtyTyGlobFreeTvarS | _tyExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _tyExprOtyKiGlobFreeTvarS | _tyExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItr) of { _tyExprOtr | _tyExprOtr `seq` (True) -> (case (_lhsIsysfEnv) of { _tyExprOsysfEnv | _tyExprOsysfEnv `seq` (True) -> (case (_lhsIopts) of { _tyExprOopts | _tyExprOopts `seq` (True) -> (case (_lhsImoduleNm) of { _tyExprOmoduleNm | _tyExprOmoduleNm `seq` (True) -> (case (_lhsIkiGam) of { _tyExprOkiGam | _tyExprOkiGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _tyExprOfinTyVarMp | _tyExprOfinTyVarMp `seq` (True) -> (case (_lhsIfinTyKiGam) of { _tyExprOfinTyKiGam | _tyExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _tyExprOfinKiVarMp | _tyExprOfinKiVarMp `seq` (True) -> (case (tyExpr_8 _tyExprOfinKiVarMp _tyExprOfinTyKiGam _tyExprOfinTyVarMp _tyExprOkiGam _tyExprOmoduleNm _tyExprOopts _tyExprOsysfEnv _tyExprOtr _tyExprOtyKiGlobFreeTvarS _tyExprOtyTyGlobFreeTvarS _tyExprOtyTyTySigFreeTvarS _tyExprOvalTyGlobFreeTvarS) of { ( _tyExprIallErrSq,_tyExprIappArgPPL,_tyExprIappFunNm,_tyExprIappFunPP,_tyExprIclMissNmS,_tyExprIclNmS,_tyExprIerrSq,_tyExprIgathMentrelFilterMp,_tyExprIpp,_tyExprIppAST,_tyExprItrpp,_tyExprItyWildL) | True -> (case (_tyExprIallErrSq `Seq.union` _patExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_patExprIpp >#< "::" >#< _tyExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_patExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (rngLift _range mkNestErr' _pp [ _patExprIerrSq, _tyExprIerrSq , foErrSq _fo_ ]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_tyExprIgathMentrelFilterMp `mentrelFilterMpUnion` _patExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_patExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","TypeAs"] [] [_patExprIppAST,_tyExprIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_patExprIrpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_tyExprItrpp >< _patExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case (_patExprIvalCBindL) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_TypeAs_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_TypeAs_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_TypeAs_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }))) in sem_PatExpr_TypeAs_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_TypeAs_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_TypeAs_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_TypeAs_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }) }) }))) in sem_PatExpr_TypeAs_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) }) sem_PatExpr_SConst :: Range -> String -> T_PatExpr sem_PatExpr_SConst hsrange_ str_ | hsrange_ `seq` (str_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_SConst_1 :: T_PatExpr_1 sem_PatExpr_SConst_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup196 | __tup196 `seq` (True) -> (case (__tup196) of { (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_SConst_2 :: T_PatExpr_2 sem_PatExpr_SConst_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_SConst_3 :: T_PatExpr_3 sem_PatExpr_SConst_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_lhsIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_lhsIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_lhsItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_lhsItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_SConst_4 :: T_PatExpr_4 sem_PatExpr_SConst_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup196) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_SConst_5 :: T_PatExpr_5 sem_PatExpr_SConst_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (Ty_Any) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_SConst_6 :: T_PatExpr_6 sem_PatExpr_SConst_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (tyString _lhsIopts) of { _constTy | _constTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (fitsIn _lhsIfiOpts _fe _lUniq _lhsIpatTyVarMp _lhsIknTy _constTy) of { _fo_ | _fo_ `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_lhsIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_SConst_7 :: T_PatExpr_7 sem_PatExpr_SConst_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_constTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_SConst_8 :: T_PatExpr_8 sem_PatExpr_SConst_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp (show str_)) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","SConst"] [_pp] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Int _cpNm _acorety (-1)) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ([]) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_SConst_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_SConst_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) })))))))) in sem_PatExpr_SConst_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }))) in sem_PatExpr_SConst_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }))))))) in sem_PatExpr_SConst_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }))))))))))) in sem_PatExpr_SConst_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }))))) in sem_PatExpr_SConst_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }))) in sem_PatExpr_SConst_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) sem_PatExpr_Rec :: Range -> T_RecPatExpr -> T_PatExpr sem_PatExpr_Rec hsrange_ recPatExpr_ | hsrange_ `seq` (recPatExpr_ `seq` (True)) = (case (recPatExpr_) of { ( _recPatExprIrange,recPatExpr_1) | True -> (case (rangeUnions [hsrange_, _recPatExprIrange , _recPatExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Rec_1 :: T_PatExpr_1 sem_PatExpr_Rec_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup197 | __tup197 `seq` (True) -> (case (__tup197) of { (_recPatExprOgUniq,_) | _recPatExprOgUniq `seq` (True) -> (case (recPatExpr_1 _recPatExprOgUniq) of { ( _recPatExprIgUniq,recPatExpr_2) | True -> (case (_recPatExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Rec_2 :: T_PatExpr_2 sem_PatExpr_Rec_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _recPatExprOpredSameScopeCounter | _recPatExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _recPatExprOlexLev | _recPatExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _recPatExprOkiGam | _recPatExprOkiGam `seq` (True) -> (case (recPatExpr_2 _recPatExprOkiGam _recPatExprOlexLev _recPatExprOpredSameScopeCounter) of { ( _recPatExprIpredSameScopeCounter,recPatExpr_3) | True -> (case (_recPatExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Rec_3 :: T_PatExpr_3 sem_PatExpr_Rec_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _recPatExprOtyKiGlobFreeTvarS | _recPatExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _recPatExprOtyKiGam | _recPatExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _recPatExprOtyGam | _recPatExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _recPatExprOpredScope | _recPatExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _recPatExprOpolVarMp | _recPatExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _recPatExprOpolGam | _recPatExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _recPatExprOopts | _recPatExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _recPatExprOkiVarMp | _recPatExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _recPatExprOgenerDataInfoMp | _recPatExprOgenerDataInfoMp `seq` (True) -> (case (recPatExpr_3 _recPatExprOgenerDataInfoMp _recPatExprOkiVarMp _recPatExprOopts _recPatExprOpolGam _recPatExprOpolVarMp _recPatExprOpredScope _recPatExprOtyGam _recPatExprOtyKiGam _recPatExprOtyKiGlobFreeTvarS) of { ( _recPatExprIgenerDataInfoMp,_recPatExprIkiVarMp,_recPatExprIpolVarMp,_recPatExprItyGam,_recPatExprItyKiGam,recPatExpr_4) | True -> (case (_recPatExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_recPatExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_recPatExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_recPatExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_recPatExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Rec_4 :: T_PatExpr_4 sem_PatExpr_Rec_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _recPatExprOtyTyTySigFreeTvarS | _recPatExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _recPatExprOfinTyKiGam | _recPatExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _recPatExprOfinKiVarMp | _recPatExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _recPatExprOdataGam | _recPatExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _recPatExprOclGam | _recPatExprOclGam `seq` (True) -> (case (positionalFldNames) of { _recPatExprOpositionalFldNmL | _recPatExprOpositionalFldNmL `seq` (True) -> (case (recPatExpr_4 _recPatExprOclGam _recPatExprOdataGam _recPatExprOfinKiVarMp _recPatExprOfinTyKiGam _recPatExprOpositionalFldNmL _recPatExprOtyTyTySigFreeTvarS) of { ( _recPatExprIchrInstDeclSq,_recPatExprIhasAFldRef,_recPatExprIpositionalFldNmL,recPatExpr_5) | True -> (case (_recPatExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup197) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Rec_5 :: T_PatExpr_5 sem_PatExpr_Rec_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (Ty_Any) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Rec_6 :: T_PatExpr_6 sem_PatExpr_Rec_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsIvalGam) of { _recPatExprOvalGam | _recPatExprOvalGam `seq` (True) -> (case (_lhsItySigGam) of { _recPatExprOtySigGam | _recPatExprOtySigGam `seq` (True) -> (case (_lhsIpatTyVarMp) of { _recPatExprOpatTyVarMp | _recPatExprOpatTyVarMp `seq` (True) -> (case (_lhsIknTy) of { _recPatExprOknTy | _recPatExprOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _recPatExprOfiOpts | _recPatExprOfiOpts `seq` (True) -> (case (_recPatExprIhasAFldRef) of { _recPatExprOmatchOnFld | _recPatExprOmatchOnFld `seq` (True) -> (case (recPatExpr_5 _recPatExprOfiOpts _recPatExprOknTy _recPatExprOmatchOnFld _recPatExprOpatTyVarMp _recPatExprOtySigGam _recPatExprOvalGam) of { ( _recPatExprIpatTyVarMp,_recPatExprIvalGam,recPatExpr_6) | True -> (case (_recPatExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_recPatExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Rec_7 :: T_PatExpr_7 sem_PatExpr_Rec_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _recPatExprOvalTyGlobFreeTvarS | _recPatExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _recPatExprOtyVarMp | _recPatExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _recPatExprOtyTyGlobFreeTvarS | _recPatExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _recPatExprOtvKiVarMp | _recPatExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _recPatExprOclDfGam | _recPatExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _recPatExprOchrStore | _recPatExprOchrStore `seq` (True) -> (case (recPatExpr_6 _recPatExprOchrStore _recPatExprOclDfGam _recPatExprOtvKiVarMp _recPatExprOtyTyGlobFreeTvarS _recPatExprOtyVarMp _recPatExprOvalTyGlobFreeTvarS) of { ( _recPatExprIgathCnstrMp,_recPatExprIgathRangeMp,_recPatExprIscopeGam,_recPatExprIty,_recPatExprItyVarMp,recPatExpr_7) | True -> (case (_recPatExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_recPatExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_recPatExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_recPatExprIty) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_recPatExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Rec_8 :: T_PatExpr_8 sem_PatExpr_Rec_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _recPatExprOsysfEnv | _recPatExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _recPatExprOrangeMp | _recPatExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _recPatExprOfinValGam | _recPatExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _recPatExprOfinTyVarMp | _recPatExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _recPatExprOtySigVarMp | _recPatExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _recPatExprOtr | _recPatExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _recPatExprOmoduleNm | _recPatExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _recPatExprOchrScopeBindMp | _recPatExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _recPatExprOchrEvidBindMp | _recPatExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _recPatExprOceParentNm | _recPatExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _recPatExprOcSubst | _recPatExprOcSubst `seq` (True) -> (case (recPatExpr_7 _recPatExprOcSubst _recPatExprOceParentNm _recPatExprOchrEvidBindMp _recPatExprOchrScopeBindMp _recPatExprOfinTyVarMp _recPatExprOfinValGam _recPatExprOmoduleNm _recPatExprOrangeMp _recPatExprOsysfEnv _recPatExprOtr _recPatExprOtySigVarMp) of { ( _recPatExprIallErrSq,_recPatExprIcSubst,_recPatExprIerrSq,_recPatExprIextNm,_recPatExprIfsRPatL,_recPatExprIgathMentrelFilterMp,_recPatExprIgathTvKiVarMp,_recPatExprIpatCRest,_recPatExprIpp,_recPatExprIppAST,_recPatExprIppL,_recPatExprItrpp,_recPatExprIvalCBindL) | True -> (case (_recPatExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case (reverse _recPatExprIppL) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_recPatExprIpp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_recPatExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_recPatExprIextNm) of { _appFunNm | _appFunNm `seq` (True) -> (case (ppAppTop (hsnRec,mkPPAppFun _appFunNm _recPatExprIpp) (reverse _recPatExprIppL) _recPatExprIpp) of { _pp | _pp `seq` (True) -> (case (rngLift _range mkNestErr' _pp [_recPatExprIerrSq]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case (_recPatExprIfsRPatL) of { _fsRPatL | _fsRPatL `seq` (True) -> (case (_fsRPatL) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_recPatExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_recPatExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","Rec"] [] [_recPatExprIppAST] _trppHere) of { _ppAST | _ppAST `seq` (True) -> (case (_ppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case (fsL2PatOffsetL _lhsIopts $ rowCanonOrderBy compare $ _fsRPatL) of { _rpatBinds | _rpatBinds `seq` (True) -> (case (_recPatExprIpatCRest) of { _rest | _rest `seq` (True) -> (case (CTagRec) of { _tag | _tag `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (case _rest of CPatRest_Empty -> RPat_Con _cpNm _acorety _tag (RPatConBind_One _rest (map fst _rpatBinds)) CPatRest_Var r -> RPat_Con _cpNm _acorety _tag (RPatConBind_One _rest pbL) where pbL = map fst $ fsL2PatOffsetL _lhsIopts $ fsLReorder _lhsIopts $ reverse $ _fsRPatL) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_recPatExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (_recPatExprIvalCBindL) of { _valCBindLSub | _valCBindLSub `seq` (True) -> (case (acoreRPatBindL2BindL _rceEnv (not $ null _valCBindLSub) _lhsIceParentNm _tag (Just (_rest,length _fsRPatL)) _rpatBinds) of { _valCBindL | _valCBindL `seq` (True) -> (case (_valCBindL ++ _valCBindLSub) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Rec_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Rec_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Rec_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }))) in sem_PatExpr_Rec_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_Rec_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_Rec_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_Rec_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_Rec_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_DataFields :: Range -> T_DataFieldPatExpr -> T_PatExpr sem_PatExpr_DataFields hsrange_ dataFieldPatExpr_ | hsrange_ `seq` (dataFieldPatExpr_ `seq` (True)) = (case (dataFieldPatExpr_) of { ( _dataFieldPatExprIrange,dataFieldPatExpr_1) | True -> (case (rangeUnions [hsrange_, _dataFieldPatExprIrange , _dataFieldPatExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_DataFields_1 :: T_PatExpr_1 sem_PatExpr_DataFields_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup199 | __tup199 `seq` (True) -> (case (__tup199) of { (_dataFieldPatExprOgUniq,_) | _dataFieldPatExprOgUniq `seq` (True) -> (case (dataFieldPatExpr_1 _dataFieldPatExprOgUniq) of { ( _dataFieldPatExprIgUniq,dataFieldPatExpr_2) | True -> (case (_dataFieldPatExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_DataFields_2 :: T_PatExpr_2 sem_PatExpr_DataFields_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _dataFieldPatExprOpredSameScopeCounter | _dataFieldPatExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _dataFieldPatExprOlexLev | _dataFieldPatExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _dataFieldPatExprOkiGam | _dataFieldPatExprOkiGam `seq` (True) -> (case (dataFieldPatExpr_2 _dataFieldPatExprOkiGam _dataFieldPatExprOlexLev _dataFieldPatExprOpredSameScopeCounter) of { ( _dataFieldPatExprIpredSameScopeCounter,dataFieldPatExpr_3) | True -> (case (_dataFieldPatExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_DataFields_3 :: T_PatExpr_3 sem_PatExpr_DataFields_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _dataFieldPatExprOtyKiGlobFreeTvarS | _dataFieldPatExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _dataFieldPatExprOtyKiGam | _dataFieldPatExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _dataFieldPatExprOtyGam | _dataFieldPatExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _dataFieldPatExprOpredScope | _dataFieldPatExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _dataFieldPatExprOpolVarMp | _dataFieldPatExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _dataFieldPatExprOpolGam | _dataFieldPatExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _dataFieldPatExprOopts | _dataFieldPatExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _dataFieldPatExprOkiVarMp | _dataFieldPatExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _dataFieldPatExprOgenerDataInfoMp | _dataFieldPatExprOgenerDataInfoMp `seq` (True) -> (case (dataFieldPatExpr_3 _dataFieldPatExprOgenerDataInfoMp _dataFieldPatExprOkiVarMp _dataFieldPatExprOopts _dataFieldPatExprOpolGam _dataFieldPatExprOpolVarMp _dataFieldPatExprOpredScope _dataFieldPatExprOtyGam _dataFieldPatExprOtyKiGam _dataFieldPatExprOtyKiGlobFreeTvarS) of { ( _dataFieldPatExprIgenerDataInfoMp,_dataFieldPatExprIkiVarMp,_dataFieldPatExprIpolVarMp,_dataFieldPatExprItyGam,_dataFieldPatExprItyKiGam,dataFieldPatExpr_4) | True -> (case (_dataFieldPatExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_dataFieldPatExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_dataFieldPatExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_dataFieldPatExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_dataFieldPatExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_DataFields_4 :: T_PatExpr_4 sem_PatExpr_DataFields_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _dataFieldPatExprOtyTyTySigFreeTvarS | _dataFieldPatExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _dataFieldPatExprOfinTyKiGam | _dataFieldPatExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _dataFieldPatExprOfinKiVarMp | _dataFieldPatExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _dataFieldPatExprOdataGam | _dataFieldPatExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _dataFieldPatExprOclGam | _dataFieldPatExprOclGam `seq` (True) -> (case (dataFieldPatExpr_4 _dataFieldPatExprOclGam _dataFieldPatExprOdataGam _dataFieldPatExprOfinKiVarMp _dataFieldPatExprOfinTyKiGam _dataFieldPatExprOtyTyTySigFreeTvarS) of { ( _dataFieldPatExprIchrInstDeclSq,dataFieldPatExpr_5) | True -> (case (_dataFieldPatExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup199) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_DataFields_5 :: T_PatExpr_5 sem_PatExpr_DataFields_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (Ty_Any) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_DataFields_6 :: T_PatExpr_6 sem_PatExpr_DataFields_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsIvalGam) of { _dataFieldPatExprOvalGam | _dataFieldPatExprOvalGam `seq` (True) -> (case (_lhsItySigGam) of { _dataFieldPatExprOtySigGam | _dataFieldPatExprOtySigGam `seq` (True) -> (case (_lhsIpatTyVarMp) of { _dataFieldPatExprOpatTyVarMp | _dataFieldPatExprOpatTyVarMp `seq` (True) -> (case (_lhsIknTy) of { _dataFieldPatExprOknTy | _dataFieldPatExprOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _dataFieldPatExprOfiOpts | _dataFieldPatExprOfiOpts `seq` (True) -> (case (dataFieldPatExpr_5 _dataFieldPatExprOfiOpts _dataFieldPatExprOknTy _dataFieldPatExprOpatTyVarMp _dataFieldPatExprOtySigGam _dataFieldPatExprOvalGam) of { ( _dataFieldPatExprIpatTyVarMp,_dataFieldPatExprIvalGam,dataFieldPatExpr_6) | True -> (case (_dataFieldPatExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_dataFieldPatExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_DataFields_7 :: T_PatExpr_7 sem_PatExpr_DataFields_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _dataFieldPatExprOvalTyGlobFreeTvarS | _dataFieldPatExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _dataFieldPatExprOtyVarMp | _dataFieldPatExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _dataFieldPatExprOtyTyGlobFreeTvarS | _dataFieldPatExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _dataFieldPatExprOtvKiVarMp | _dataFieldPatExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _dataFieldPatExprOclDfGam | _dataFieldPatExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _dataFieldPatExprOchrStore | _dataFieldPatExprOchrStore `seq` (True) -> (case (dataFieldPatExpr_6 _dataFieldPatExprOchrStore _dataFieldPatExprOclDfGam _dataFieldPatExprOtvKiVarMp _dataFieldPatExprOtyTyGlobFreeTvarS _dataFieldPatExprOtyVarMp _dataFieldPatExprOvalTyGlobFreeTvarS) of { ( _dataFieldPatExprIgathCnstrMp,_dataFieldPatExprIgathRangeMp,_dataFieldPatExprIscopeGam,_dataFieldPatExprIty,_dataFieldPatExprItyVarMp,dataFieldPatExpr_7) | True -> (case (_dataFieldPatExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_dataFieldPatExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_dataFieldPatExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_dataFieldPatExprIty) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_dataFieldPatExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_DataFields_8 :: T_PatExpr_8 sem_PatExpr_DataFields_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _dataFieldPatExprOsysfEnv | _dataFieldPatExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _dataFieldPatExprOrangeMp | _dataFieldPatExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _dataFieldPatExprOfinValGam | _dataFieldPatExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _dataFieldPatExprOfinTyVarMp | _dataFieldPatExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _dataFieldPatExprOtySigVarMp | _dataFieldPatExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _dataFieldPatExprOtr | _dataFieldPatExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _dataFieldPatExprOmoduleNm | _dataFieldPatExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _dataFieldPatExprOchrScopeBindMp | _dataFieldPatExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _dataFieldPatExprOchrEvidBindMp | _dataFieldPatExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _dataFieldPatExprOceParentNm | _dataFieldPatExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _dataFieldPatExprOcSubst | _dataFieldPatExprOcSubst `seq` (True) -> (case (dataFieldPatExpr_7 _dataFieldPatExprOcSubst _dataFieldPatExprOceParentNm _dataFieldPatExprOchrEvidBindMp _dataFieldPatExprOchrScopeBindMp _dataFieldPatExprOfinTyVarMp _dataFieldPatExprOfinValGam _dataFieldPatExprOmoduleNm _dataFieldPatExprOrangeMp _dataFieldPatExprOsysfEnv _dataFieldPatExprOtr _dataFieldPatExprOtySigVarMp) of { ( _dataFieldPatExprIallErrSq,_dataFieldPatExprIcSubst,_dataFieldPatExprIdti,_dataFieldPatExprIerrSq,_dataFieldPatExprIfldL,_dataFieldPatExprIfsRPatL,_dataFieldPatExprIgathMentrelFilterMp,_dataFieldPatExprIgathTvKiVarMp,_dataFieldPatExprIpatCRest,_dataFieldPatExprIpp,_dataFieldPatExprIppAST,_dataFieldPatExprIppL,_dataFieldPatExprItrpp,_dataFieldPatExprIvalCBindL) | True -> (case (_dataFieldPatExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_dataFieldPatExprIpp >#< ppCurlysCommas' (reverse _dataFieldPatExprIppL)) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_dataFieldPatExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_dataFieldPatExprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_dataFieldPatExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_dataFieldPatExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["PatExpr","DataFields"] [] [_dataFieldPatExprIppAST] _trppHere) of { _ppAST | _ppAST `seq` (True) -> (case (_ppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case (_dataFieldPatExprIfsRPatL) of { _fsRPatL | _fsRPatL `seq` (True) -> (case (dtiCTag _dataFieldPatExprIdti) of { _tag | _tag `seq` (True) -> (case (let fsL = reverse _fsRPatL grp = groupByOn (\o1 o2 -> (foffOffset o1 `compare` foffOffset o2) /= GT) fst max = ctagArity _tag - 1 sat = listSaturateWith 0 max (foffOffset . fst) $ (map (\(n,o) -> (fldInt o, (FldKnownOffset n (fldInt o),RPat_Var (RPatNmOrig n) (acoreTyErr $ "EH.ToCore.PatExpr.DataFields: " ++ show n) False))) (refGen 0 1 $ take (max+1) hsnLclSupply)) in ( map (fsL2PatOffsetL _lhsIopts . sat) $ grp fsL , fsL2PatOffsetL _lhsIopts fsL , fsL2PatOffsetL _lhsIopts $ sat [] )) of { __tup198 | __tup198 `seq` (True) -> (case (__tup198) of { (_,_,_rpatBind0) | _rpatBind0 `seq` (True) -> (case (__tup198) of { (_rpatBindss,_,_) | _rpatBindss `seq` (True) -> (case (_dataFieldPatExprIpatCRest) of { _rest | _rest `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Con _cpNm _acorety _tag (rpatConBindUnFlatten (RPatConBind_One _rest $ map fst _rpatBind0) $ map (RPatConBind_One _rest . map fst) _rpatBindss )) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_dataFieldPatExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (_dataFieldPatExprIvalCBindL) of { _valCBindLSub | _valCBindLSub `seq` (True) -> (case (__tup198) of { (_,_rpatBindsNonSat,_) | _rpatBindsNonSat `seq` (True) -> (case (acoreRPatBindL2BindL _rceEnv (not $ null _valCBindLSub) _lhsIceParentNm _tag (Just (_rest,ctagArity _tag)) _rpatBindsNonSat) of { _valCBindL | _valCBindL `seq` (True) -> (case (_valCBindL ++ _valCBindLSub) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_DataFields_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_DataFields_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_DataFields_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }))) in sem_PatExpr_DataFields_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_DataFields_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_DataFields_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_DataFields_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_DataFields_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_Irrefutable :: Range -> T_PatExpr -> T_PatExpr sem_PatExpr_Irrefutable hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) = (case (patExpr_) of { ( _patExprIrange,patExpr_1) | True -> (case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_1 :: T_PatExpr_1 sem_PatExpr_Irrefutable_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup200 | __tup200 `seq` (True) -> (case (__tup200) of { (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) -> (case (patExpr_1 _patExprOgUniq) of { ( _patExprIgUniq,patExpr_2) | True -> (case (_patExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_2 :: T_PatExpr_2 sem_PatExpr_Irrefutable_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _patExprOlexLev | _patExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _patExprOkiGam | _patExprOkiGam `seq` (True) -> (case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of { ( _patExprIpredSameScopeCounter,patExpr_3) | True -> (case (_patExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_3 :: T_PatExpr_3 sem_PatExpr_Irrefutable_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _patExprOtyGam | _patExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _patExprOpredScope | _patExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _patExprOpolGam | _patExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _patExprOopts | _patExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _patExprOgenerDataInfoMp | _patExprOgenerDataInfoMp `seq` (True) -> (case (patExpr_3 _patExprOgenerDataInfoMp _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of { ( _patExprIgenerDataInfoMp,_patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True -> (case (_patExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_patExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_patExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_patExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_patExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_4 :: T_PatExpr_4 sem_PatExpr_Irrefutable_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _patExprOdataGam | _patExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _patExprOclGam | _patExprOclGam `seq` (True) -> (case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of { ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True -> (case (_patExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (_patExprItopNm) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_5 :: T_PatExpr_5 sem_PatExpr_Irrefutable_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (_lhsIvalGam) of { _patExprOvalGam | _patExprOvalGam `seq` (True) -> (case (patExpr_5 _patExprOvalGam) of { ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True -> (case (_patExprIarity) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (_patExprImbTopNm) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_patExprIpatFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_6 :: T_PatExpr_6 sem_PatExpr_Irrefutable_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _patExprOtySigGam | _patExprOtySigGam `seq` (True) -> (case (_lhsIpatTyVarMp) of { _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) -> (case (_lhsIknTyL) of { _patExprOknTyL | _patExprOknTyL `seq` (True) -> (case (_lhsIknTy) of { _patExprOknTy | _patExprOknTy `seq` (True) -> (case (_lhsIinclVarBind) of { _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _patExprOfiOpts | _patExprOfiOpts `seq` (True) -> (case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of { ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True -> (case (_patExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_patExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_7 :: T_PatExpr_7 sem_PatExpr_Irrefutable_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _patExprOclDfGam | _patExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _patExprOchrStore | _patExprOchrStore `seq` (True) -> (case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of { ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True -> (case (_patExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_patExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_patExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_patExprIty) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_patExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Irrefutable_8 :: T_PatExpr_8 sem_PatExpr_Irrefutable_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _patExprOrangeMp | _patExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _patExprOfinValGam | _patExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _patExprOtr | _patExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _patExprOceParentNm | _patExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _patExprOcSubst | _patExprOcSubst `seq` (True) -> (case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtr _patExprOtySigVarMp) of { ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIppAST,_patExprIrpat,_patExprItrpp,_patExprIvalCBindL) | True -> (case (_patExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case ("~" >|< _patExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_patExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_patExprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_patExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_patExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (_patExprIppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (RPat_Irrefutable _cpNm _acorety _patExprIvalCBindL) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_patExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case (_patExprIvalCBindL) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Irrefutable_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Irrefutable_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Irrefutable_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }))) in sem_PatExpr_Irrefutable_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_Irrefutable_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_Irrefutable_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_Irrefutable_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_Irrefutable_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_Bang :: Range -> T_PatExpr -> T_PatExpr sem_PatExpr_Bang hsrange_ patExpr_ | hsrange_ `seq` (patExpr_ `seq` (True)) = (case (patExpr_) of { ( _patExprIrange,patExpr_1) | True -> (case (rangeUnions [hsrange_, _patExprIrange, _patExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Bang_1 :: T_PatExpr_1 sem_PatExpr_Bang_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup201 | __tup201 `seq` (True) -> (case (__tup201) of { (_patExprOgUniq,_) | _patExprOgUniq `seq` (True) -> (case (patExpr_1 _patExprOgUniq) of { ( _patExprIgUniq,patExpr_2) | True -> (case (_patExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Bang_2 :: T_PatExpr_2 sem_PatExpr_Bang_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _patExprOpredSameScopeCounter | _patExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _patExprOlexLev | _patExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _patExprOkiGam | _patExprOkiGam `seq` (True) -> (case (patExpr_2 _patExprOkiGam _patExprOlexLev _patExprOpredSameScopeCounter) of { ( _patExprIpredSameScopeCounter,patExpr_3) | True -> (case (_patExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Bang_3 :: T_PatExpr_3 sem_PatExpr_Bang_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _patExprOtyKiGlobFreeTvarS | _patExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _patExprOtyKiGam | _patExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _patExprOtyGam | _patExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _patExprOpredScope | _patExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _patExprOpolVarMp | _patExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _patExprOpolGam | _patExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _patExprOopts | _patExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _patExprOkiVarMp | _patExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _patExprOgenerDataInfoMp | _patExprOgenerDataInfoMp `seq` (True) -> (case (patExpr_3 _patExprOgenerDataInfoMp _patExprOkiVarMp _patExprOopts _patExprOpolGam _patExprOpolVarMp _patExprOpredScope _patExprOtyGam _patExprOtyKiGam _patExprOtyKiGlobFreeTvarS) of { ( _patExprIgenerDataInfoMp,_patExprIkiVarMp,_patExprIpolVarMp,_patExprItyGam,_patExprItyKiGam,patExpr_4) | True -> (case (_patExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_patExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_patExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_patExprItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_patExprItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Bang_4 :: T_PatExpr_4 sem_PatExpr_Bang_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _patExprOtyTyTySigFreeTvarS | _patExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _patExprOfinTyKiGam | _patExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _patExprOfinKiVarMp | _patExprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _patExprOdataGam | _patExprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _patExprOclGam | _patExprOclGam `seq` (True) -> (case (patExpr_4 _patExprOclGam _patExprOdataGam _patExprOfinKiVarMp _patExprOfinTyKiGam _patExprOtyTyTySigFreeTvarS) of { ( _patExprIchrInstDeclSq,_patExprItopNm,patExpr_5) | True -> (case (_patExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (_patExprItopNm) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Bang_5 :: T_PatExpr_5 sem_PatExpr_Bang_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (_lhsIvalGam) of { _patExprOvalGam | _patExprOvalGam `seq` (True) -> (case (patExpr_5 _patExprOvalGam) of { ( _patExprIarity,_patExprImbTopNm,_patExprIpatFunTy,patExpr_6) | True -> (case (_patExprIarity) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (_patExprImbTopNm) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (_patExprIpatFunTy) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Bang_6 :: T_PatExpr_6 sem_PatExpr_Bang_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsItySigGam) of { _patExprOtySigGam | _patExprOtySigGam `seq` (True) -> (case (_lhsIpatTyVarMp) of { _patExprOpatTyVarMp | _patExprOpatTyVarMp `seq` (True) -> (case (_lhsIknTyL) of { _patExprOknTyL | _patExprOknTyL `seq` (True) -> (case (_lhsIknTy) of { _patExprOknTy | _patExprOknTy `seq` (True) -> (case (_lhsIinclVarBind) of { _patExprOinclVarBind | _patExprOinclVarBind `seq` (True) -> (case (_lhsIfiOpts) of { _patExprOfiOpts | _patExprOfiOpts `seq` (True) -> (case (patExpr_6 _patExprOfiOpts _patExprOinclVarBind _patExprOknTy _patExprOknTyL _patExprOpatTyVarMp _patExprOtySigGam) of { ( _patExprIpatTyVarMp,_patExprIvalGam,patExpr_7) | True -> (case (_patExprIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_patExprIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Bang_7 :: T_PatExpr_7 sem_PatExpr_Bang_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _patExprOvalTyGlobFreeTvarS | _patExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyVarMp) of { _patExprOtyVarMp | _patExprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _patExprOtyTyGlobFreeTvarS | _patExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _patExprOtvKiVarMp | _patExprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _patExprOclDfGam | _patExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _patExprOchrStore | _patExprOchrStore `seq` (True) -> (case (patExpr_7 _patExprOchrStore _patExprOclDfGam _patExprOtvKiVarMp _patExprOtyTyGlobFreeTvarS _patExprOtyVarMp _patExprOvalTyGlobFreeTvarS) of { ( _patExprIcpNm,_patExprIgathCnstrMp,_patExprIgathRangeMp,_patExprIscopeGam,_patExprIty,_patExprItyVarMp,patExpr_8) | True -> (case (_patExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_patExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_patExprIscopeGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_patExprIty) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_patExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Bang_8 :: T_PatExpr_8 sem_PatExpr_Bang_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _patExprOsysfEnv | _patExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _patExprOrangeMp | _patExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _patExprOfinValGam | _patExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _patExprOfinTyVarMp | _patExprOfinTyVarMp `seq` (True) -> (case (_lhsItySigVarMp) of { _patExprOtySigVarMp | _patExprOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _patExprOtr | _patExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _patExprOmoduleNm | _patExprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _patExprOchrScopeBindMp | _patExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _patExprOchrEvidBindMp | _patExprOchrEvidBindMp `seq` (True) -> (case (_lhsIceParentNm) of { _patExprOceParentNm | _patExprOceParentNm `seq` (True) -> (case (_lhsIcSubst) of { _patExprOcSubst | _patExprOcSubst `seq` (True) -> (case (patExpr_8 _patExprOcSubst _patExprOceParentNm _patExprOchrEvidBindMp _patExprOchrScopeBindMp _patExprOfinTyVarMp _patExprOfinValGam _patExprOmoduleNm _patExprOrangeMp _patExprOsysfEnv _patExprOtr _patExprOtySigVarMp) of { ( _patExprIallErrSq,_patExprIappArgPPL,_patExprIappFunNm,_patExprIappFunPP,_patExprIcSubst,_patExprIerrSq,_patExprIfsRPatL,_patExprIgathMentrelFilterMp,_patExprIgathTvKiVarMp,_patExprIisBang,_patExprIpatCRest,_patExprIpp,_patExprIppAST,_patExprIrpat,_patExprItrpp,_patExprIvalCBindL) | True -> (case (_patExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case ("!" >|< _patExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (_patExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_patExprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (_patExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_patExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (True) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (_patExprIppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (case _patExprIrpat of r@(RPat_Var _ _ _) -> r {rcpMustEval = True} r -> r) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_patExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case (_patExprIvalCBindL) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Bang_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Bang_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Bang_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }) }) }))) in sem_PatExpr_Bang_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_Bang_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_Bang_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }))))) in sem_PatExpr_Bang_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_Bang_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) }) sem_PatExpr_Expr :: Range -> T_Expr -> (Maybe SrcConst) -> T_PatExpr sem_PatExpr_Expr hsrange_ expr_ mbConst_ | hsrange_ `seq` (expr_ `seq` (mbConst_ `seq` (True))) = (case (expr_) of { ( _exprIrange,expr_1) | True -> (case (rangeUnions [hsrange_, _exprIrange , _exprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_PatExpr_Expr_1 :: T_PatExpr_1 sem_PatExpr_Expr_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_97_fitsIn_ty) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_97_fitsIn_ty,lUniq_cexpr)}}} )) of { __tup204 | __tup204 `seq` (True) -> (case (__tup204) of { (_exprOgUniq,_,_,_) | _exprOgUniq `seq` (True) -> (case (expr_1 _exprOgUniq) of { ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True -> (case (_exprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case ((let sem_PatExpr_Expr_2 :: T_PatExpr_2 sem_PatExpr_Expr_2 = (\ _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _exprOpredSameScopeCounter | _exprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _exprOlexLev | _exprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _exprOkiGam | _exprOkiGam `seq` (True) -> (case (True) of { _exprOisFirstLet | _exprOisFirstLet `seq` (True) -> (case (expr_2 _exprOisFirstLet _exprOkiGam _exprOlexLev _exprOpredSameScopeCounter) of { ( _exprIpredSameScopeCounter,expr_3) | True -> (case (_exprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_PatExpr_Expr_3 :: T_PatExpr_3 sem_PatExpr_Expr_3 = (\ _lhsIgenerDataInfoMp _lhsIkiVarMp _lhsIopts _lhsIpolGam _lhsIpolVarMp _lhsIpredScope _lhsItyGam _lhsItyKiGam _lhsItyKiGlobFreeTvarS -> _lhsIgenerDataInfoMp `seq` (_lhsIkiVarMp `seq` (_lhsIopts `seq` (_lhsIpolGam `seq` (_lhsIpolVarMp `seq` (_lhsIpredScope `seq` (_lhsItyGam `seq` (_lhsItyKiGam `seq` (_lhsItyKiGlobFreeTvarS `seq` ((case (_lhsItyKiGlobFreeTvarS) of { _exprOtyKiGlobFreeTvarS | _exprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _exprOtyKiGam | _exprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _exprOtyGam | _exprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _exprOpredScope | _exprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _exprOpolVarMp | _exprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _exprOpolGam | _exprOpolGam `seq` (True) -> (case (_lhsIopts) of { _exprOopts | _exprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _exprOkiVarMp | _exprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _exprOgenerDataInfoMp | _exprOgenerDataInfoMp `seq` (True) -> (case (expr_3 _exprOgenerDataInfoMp _exprOkiVarMp _exprOopts _exprOpolGam _exprOpolVarMp _exprOpredScope _exprOtyGam _exprOtyKiGam _exprOtyKiGlobFreeTvarS) of { ( _exprIgenerDataInfoMp,_exprIkiVarMp,_exprIpolVarMp,expr_4) | True -> (case (_exprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_exprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_exprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case (_lhsItyGam) of { _lhsOtyGam | _lhsOtyGam `seq` (True) -> (case (_lhsItyKiGam) of { _lhsOtyKiGam | _lhsOtyKiGam `seq` (True) -> (case ((let sem_PatExpr_Expr_4 :: T_PatExpr_4 sem_PatExpr_Expr_4 = (\ _lhsIclGam _lhsIdataGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIdataGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _exprOdataGam | _exprOdataGam `seq` (True) -> (case (_lhsIclGam) of { _exprOclGam | _exprOclGam `seq` (True) -> (case (emptyGam) of { _exprOgathDataGam | _exprOgathDataGam `seq` (True) -> (case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of { ( _exprIgathDataGam,expr_5) | True -> (case (expr_5 _exprOdataGam) of { ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True -> (case (_exprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (__tup204) of { (_,_lUniq,_,_) | _lUniq `seq` (True) -> (case (uidHNm _lUniq) of { _topNm | _topNm `seq` (True) -> (case (_topNm) of { _lhsOtopNm | _lhsOtopNm `seq` (True) -> (case ((let sem_PatExpr_Expr_5 :: T_PatExpr_5 sem_PatExpr_Expr_5 = (\ _lhsIvalGam -> _lhsIvalGam `seq` ((case (0) of { _lhsOarity | _lhsOarity `seq` (True) -> (case (Nothing) of { _mbTopNm | _mbTopNm `seq` (True) -> (case (_mbTopNm) of { _lhsOmbTopNm | _lhsOmbTopNm `seq` (True) -> (case (Ty_Any) of { _lhsOpatFunTy | _lhsOpatFunTy `seq` (True) -> (case ((let sem_PatExpr_Expr_6 :: T_PatExpr_6 sem_PatExpr_Expr_6 = (\ _lhsIfiOpts _lhsIinclVarBind _lhsIknTy _lhsIknTyL _lhsIpatTyVarMp _lhsItySigGam -> _lhsIfiOpts `seq` (_lhsIinclVarBind `seq` (_lhsIknTy `seq` (_lhsIknTyL `seq` (_lhsIpatTyVarMp `seq` (_lhsItySigGam `seq` ((case (_lhsIpatTyVarMp) of { _lhsOpatTyVarMp | _lhsOpatTyVarMp `seq` (True) -> (case (_lhsIvalGam) of { _lhsOvalGam | _lhsOvalGam `seq` (True) -> (case ((let sem_PatExpr_Expr_7 :: T_PatExpr_7 sem_PatExpr_Expr_7 = (\ _lhsIchrStore _lhsIclDfGam _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (maybe (RPatNmUniq _topNm) RPatNmOrig _mbTopNm) of { _cpNm | _cpNm `seq` (True) -> (case (_cpNm) of { _lhsOcpNm | _lhsOcpNm `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _exprOvalTyGlobFreeTvarS | _exprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _exprOvalGam | _exprOvalGam `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _exprOtyTyGlobFreeTvarS | _exprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _exprOtvKiVarMp | _exprOtvKiVarMp `seq` (True) -> (case (_lhsIfiOpts) of { _exprOfiOpts | _exprOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _exprOclDfGam | _exprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _exprOchrStore | _exprOchrStore `seq` (True) -> (case (__tup204) of { (_,_,_lUniq_97_fitsIn_ty,_) | _lUniq_97_fitsIn_ty `seq` (True) -> (case (mkTyVar _lUniq) of { _knExprTy | _knExprTy `seq` (True) -> (case (ehcOptBuiltin _lhsIopts ehbnClassEqFldEq) of { _eqFldNm | _eqFldNm `seq` (True) -> (case (valGamLookupTy _eqFldNm _lhsIvalGam) of { __tup203 | __tup203 `seq` (True) -> (case (__tup203) of { (_eqTy,_) | _eqTy `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (fitsIn strongFIOpts _fe _lUniq_97_fitsIn_ty _lhsItyVarMp _eqTy ([_knExprTy,_lhsIknTy] `appArr` (appCon $ ehcOptBuiltin _lhsIopts ehbnDataBool))) of { _fo_ | _fo_ `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _exprOtyVarMp | _exprOtyVarMp `seq` (True) -> (case (_knExprTy) of { _exprOknTy | _exprOknTy `seq` (True) -> (case (foGathCnstrMp _fo_) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (expr_6 _exprOchrStore _exprOclDfGam _exprOfiOpts _exprOknTy _exprOtvKiVarMp _exprOtyTyGlobFreeTvarS _exprOtyVarMp _exprOvalGam _exprOvalTyGlobFreeTvarS) of { ( _exprIgathCnstrMp,_exprIgathRangeMp,_exprIgathValGam,_exprInoLetQuantTyVarIdS,_exprIty,_exprItyVarMp,expr_7) | True -> (case (cnstrMpUnions [_hereCnstrMp, _exprIgathCnstrMp]) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_exprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOscopeGam | _lhsOscopeGam `seq` (True) -> (case (_exprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_exprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_PatExpr_Expr_8 :: T_PatExpr_8 sem_PatExpr_Expr_8 = (\ _lhsIcSubst _lhsIceParentNm _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr _lhsItySigVarMp -> _lhsIcSubst `seq` (_lhsIceParentNm `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` (_lhsItySigVarMp `seq` ((case (_lhsIsysfEnv) of { _exprOsysfEnv | _exprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _exprOrangeMp | _exprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _exprOfinValGam | _exprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _exprOfinTyVarMp | _exprOfinTyVarMp `seq` (True) -> (case (_lhsItr) of { _exprOtr | _exprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _exprOcSubst | _exprOcSubst `seq` (True) -> (case (ExprCtxt_Top) of { _exprOexprCtxt | _exprOexprCtxt `seq` (True) -> (case (expr_7 _exprOcSubst _exprOchrEvidBindMp _exprOchrScopeBindMp _exprOexprCtxt _exprOfinTyVarMp _exprOfinValGam _exprOmoduleNm _exprOrangeMp _exprOsysfEnv _exprOtr) of { ( _exprIallErrSq,_exprIappArgCoeL,_exprIappArgPPL,_exprIappFunCExpr,_exprIappFunNm,_exprIappFunPP,_exprIbackCBindL,_exprIcSubst,_exprIcaseFailS,_exprIcexpr,_exprIerrSq,_exprIfrontCBindL,_exprIfuCExprL,_exprIgathClGam,_exprIgathHiddenExports,_exprIgathKiGam,_exprIgathLamMp,_exprIgathMentrelFilterMp,_exprIgathPolGam,_exprIgathTvKiVarMp,_exprIgathTyGam,_exprIgathTyKiGam,_exprIisNewtype,_exprIlamArgPPL,_exprIlamBodyPP,_exprIletCBody,_exprIletTyCBindL,_exprIletValCBindL,_exprIletValMainCBindL,_exprIorphanS,_exprIpp,_exprIppAST,_exprItrpp) | True -> (case (_exprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case ("`" >|< _exprIpp >|< "`") of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case (__tup204) of { (_,_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (acoreVar _eqFldNm) of { _cexprBaseEq | _cexprBaseEq `seq` (True) -> (case (let (e,s) = foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _exprIcSubst _cexprBaseEq in (acoreApp e [_exprIcexpr], s)) of { __tup202 | __tup202 `seq` (True) -> (case (__tup202) of { (_,_cexprpatCSubst) | _cexprpatCSubst `seq` (True) -> (case (cSubstApp _exprIcSubst _cexprpatCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (__tup203) of { (_,_nmErrs) | _nmErrs `seq` (True) -> (case (rngLift _range mkNestErr' _pp [ _exprIerrSq , Seq.fromList _nmErrs, foErrSq _fo_ ]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfsRPatL | _lhsOfsRPatL `seq` (True) -> (case (mentrelFilterMpSingleton [_lhsImoduleNm] IdOcc_Val _eqFldNm `mentrelFilterMpUnion` tyUsedNames _lhsImoduleNm _eqTy) of { _gathMentrelFilterMp | _gathMentrelFilterMp `seq` (True) -> (case (_gathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (_exprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (False) of { _lhsOisBang | _lhsOisBang `seq` (True) -> (case (CPatRest_Empty) of { _lhsOpatCRest | _lhsOpatCRest `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (_exprIppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (__tup202) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (RPat_BoolExpr _cpNm (acoreTyErr "EH.ToCore.PatExpr.Expr") _cexpr mbConst_) of { _rpat | _rpat `seq` (True) -> (case (_rpat) of { _lhsOrpat | _lhsOrpat `seq` (True) -> (case (_exprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> (case ([]) of { _lhsOvalCBindL | _lhsOvalCBindL `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgPPL,_lhsOappFunNm,_lhsOappFunPP,_lhsOcSubst,_lhsOerrSq,_lhsOfsRPatL,_lhsOgathMentrelFilterMp,_lhsOgathTvKiVarMp,_lhsOisBang,_lhsOpatCRest,_lhsOpp,_lhsOppAST,_lhsOrpat,_lhsOtrpp,_lhsOvalCBindL) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))))) in sem_PatExpr_Expr_8)) of { ( sem_PatExpr_8) | True -> ( _lhsOcpNm,_lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOscopeGam,_lhsOty,_lhsOtyVarMp,sem_PatExpr_8) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))) in sem_PatExpr_Expr_7)) of { ( sem_PatExpr_7) | True -> ( _lhsOpatTyVarMp,_lhsOvalGam,sem_PatExpr_7) }) }) })))))))) in sem_PatExpr_Expr_6)) of { ( sem_PatExpr_6) | True -> ( _lhsOarity,_lhsOmbTopNm,_lhsOpatFunTy,sem_PatExpr_6) }) }) }) }) }))) in sem_PatExpr_Expr_5)) of { ( sem_PatExpr_5) | True -> ( _lhsOchrInstDeclSq,_lhsOtopNm,sem_PatExpr_5) }) }) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_PatExpr_Expr_4)) of { ( sem_PatExpr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,_lhsOtyGam,_lhsOtyKiGam,sem_PatExpr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_PatExpr_Expr_3)) of { ( sem_PatExpr_3) | True -> ( _lhsOpredSameScopeCounter,sem_PatExpr_3) }) }) }) }) }) }) }))))) in sem_PatExpr_Expr_2)) of { ( sem_PatExpr_2) | True -> ( _lhsOgUniq,sem_PatExpr_2) }) }) }) }) }))) in sem_PatExpr_Expr_1)) of { ( sem_PatExpr_1) | True -> ( _lhsOrange,sem_PatExpr_1) }) }) }) })