module UHC.Light.Compiler.EH.MainAG_Expr 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 -- Expr -------------------------------------------------------- {- visit 0: synthesized attribute: range : Range visit 1: chained attribute: gUniq : UID synthesized attribute: hasInstDecl : Bool visit 2: inherited attributes: isFirstLet : Bool kiGam : KiGam lexLev : Int chained attribute: predSameScopeCounter : Int visit 3: inherited attributes: opts : EHCOpts polGam : PolGam predScope : PredScope tyGam : TyGam tyKiGam : TyKiGam tyKiGlobFreeTvarS : TyVarIdS chained attributes: generDataInfoMp : GenerDataInfoMp kiVarMp : VarMp polVarMp : VarMp visit 4: inherited attributes: clGam : ClGam finKiVarMp : VarMp finTyKiGam : TyKiGam tyTyTySigFreeTvarS : TyVarIdS chained attribute: gathDataGam : DataGam visit 5: inherited attribute: dataGam : DataGam synthesized attributes: chrClassDeclSq : Seq.FastSeq (CHRClassDecl) chrFIIn : FIIn chrInstDeclSq : Seq.FastSeq (CHRScopedInstanceDecl) gathClDfGam : ClassDefaultGam visit 6: inherited attributes: chrStore : CHRStore clDfGam : ClassDefaultGam fiOpts : FIOpts knTy : Ty tvKiVarMp : VarMp tyTyGlobFreeTvarS : TyVarIdS valGam : ValGam valTyGlobFreeTvarS : TyVarIdS chained attribute: tyVarMp : VarMp synthesized attributes: gathCnstrMp : ConstraintToInfoMap gathRangeMp : RangeMp gathValGam : ValGam noLetQuantTyVarIdS : TyVarIdS ty : Ty visit 7: inherited attributes: chrEvidBindMp : EvidKeyToCBindMap chrScopeBindMp : PredScopeToCBindMap exprCtxt : ExprCtxt finTyVarMp : VarMp finValGam : ValGam moduleNm : HsName rangeMp : RangeMp sysfEnv : ToSysfEnv tr : TraceOn -> [PP_Doc] -> TrPP chained attribute: cSubst : CSubst synthesized attributes: allErrSq : ErrSq appArgCoeL : [Coe] appArgPPL : [PP_Doc] appFunCExpr : CExpr appFunNm : HsName appFunPP : PP_Doc backCBindL : [(CBindCateg,CBindL)] caseFailS : UIDS cexpr : CExpr errSq : ErrSq frontCBindL : [(CBindCateg,CBindL)] fuCExprL : FieldUpdateL CExpr gathClGam : ClGam gathHiddenExports : Seq.Seq (HsName,IdOccKind) gathKiGam : KiGam gathLamMp : LamMp gathMentrelFilterMp : ModEntRelFilterMp gathPolGam : PolGam gathTvKiVarMp : VarMp gathTyGam : TyGam gathTyKiGam : TyKiGam isNewtype : Bool lamArgPPL : [PP_Doc] lamBodyPP : PP_Doc letCBody : CExpr letTyCBindL : [(CBindCateg,CBindL)] letValCBindL : [(CBindCateg,CBindL)] letValMainCBindL : CBindL orphanS : Set.Set HsName pp : PP_Doc ppAST : PP_Doc trpp : TrPP alternatives: alternative IConst: child hsrange : {Range} child int : {Int} visit 0: local range : {Range} visit 1: local _tup63 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup63 : _ visit 3: intra range : {Range} intra _tup63 : _ visit 4: intra range : {Range} intra _tup63 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup63 : _ visit 6: local lUniq : {UID} local constTy : {Ty} local fo_ : {FIOut} local hereCnstrMp : _ local ty : {Ty} local tyVarMp : {VarMp} intra _tup63 : _ intra fe : {FIEnv} intra range : {Range} visit 7: local lUniq_cexpr : {UID} local cexprBase : _ local _tup62 : _ local cexpr : _ local pp : _ local cexprCSubst : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup63 : _ intra fo_ : {FIOut} intra range : {Range} alternative CConst: child hsrange : {Range} child char : {Char} visit 0: local range : {Range} visit 1: local _tup65 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup65 : _ visit 3: intra range : {Range} intra _tup65 : _ visit 4: intra range : {Range} intra _tup65 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup65 : _ visit 6: local lUniq : {UID} local constTy : {Ty} local fo_ : {FIOut} local hereCnstrMp : _ local ty : {Ty} local tyVarMp : {VarMp} intra _tup65 : _ intra fe : {FIEnv} intra range : {Range} visit 7: local lUniq_cexpr : {UID} local cexprBase : _ local _tup64 : _ local cexpr : _ local pp : _ local cexprCSubst : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup65 : _ intra fo_ : {FIOut} intra range : {Range} alternative Con: child hsrange : {Range} child nm : {HsName} visit 0: local range : {Range} visit 1: local _tup69 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup69 : _ visit 3: intra range : {Range} intra _tup69 : _ visit 4: intra range : {Range} intra _tup69 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup69 : _ visit 6: local lUniq : {UID} local _tup68 : _ local ty_g_ : {Ty} local doFit : {DoFit} local fo_ : {FIOut} local hereCnstrMp : _ local ty : {Ty} local tyVarMp : {VarMp} intra _tup69 : _ intra fe : {FIEnv} intra range : {Range} visit 7: local lUniq_cexpr : {UID} local cexprBase : _ local _tup66 : _ local cexpr : _ local pp : _ local cexprCSubst : _ local nmErrs : {ErrL} local finalTy : _ local gathMentrelFilterMp : _ local _tup67 : _ local dgi : {DataGamInfo} local isNewtype : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup69 : _ intra fo_ : {FIOut} intra _tup68 : _ intra range : {Range} intra ty : {Ty} alternative Var: child hsrange : {Range} child nm : {HsName} visit 0: local range : {Range} visit 1: local _tup72 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup72 : _ visit 3: intra range : {Range} intra _tup72 : _ visit 4: intra range : {Range} intra _tup72 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup72 : _ visit 6: local lUniq : {UID} local _tup71 : _ local ty_g_ : {Ty} local doFit : {DoFit} local fo_ : {FIOut} local hereCnstrMp : _ local ty : {Ty} local tyVarMp : {VarMp} intra _tup72 : _ intra fe : {FIEnv} intra range : {Range} visit 7: local lUniq_cexpr : {UID} local cexprBase : _ local _tup70 : _ local cexpr : _ local pp : _ local cexprCSubst : _ local nmErrs : {ErrL} local finalTy : _ local gathMentrelFilterMp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup72 : _ intra fo_ : {FIOut} intra _tup71 : _ intra range : {Range} intra ty : {Ty} alternative App: child hsrange : {Range} child func : Expr child arg : Expr visit 0: local range : {Range} visit 1: local _tup80 : _ intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} intra _tup80 : _ visit 3: local predScope : {PredScope} intra range : {Range} intra _tup80 : _ visit 4: intra range : {Range} intra _tup80 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup80 : _ visit 6: local lUniq : {UID} local _tup78 : _ local knFunTy : _ local argTy : _ local imTy : {Ty} local argFIOpts : _ local _tup79 : _ local prOccL : {[PredOcc]} local hereCnstrMp : _ local ty : {Ty} local lUniq3 : {UID} local implsTl : {Impls} local imPrvOcc : {ImplsProveOcc} local _tup73 : _ local prvOccTlVarMp : _ local tyVarMpApp : {VarMp} intra _tup80 : _ intra range : {Range} visit 7: local exprCtxt : _ local appImplsCoeL : _ local _tup75 : _ local _tup76 : _ local lUniq_cexpr : {UID} local _tup74 : _ local cexprappCSubst : _ local cexprapp : _ local cexpr : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra imPrvOcc : {ImplsProveOcc} intra prOccL : {[PredOcc]} intra _tup80 : _ intra range : {Range} alternative Let: child hsrange : {Range} child isStrict : {Bool} child decls : Decls child body : Expr visit 0: local range : {Range} visit 1: local _tup114 : _ local hasInstDecl : {Bool} intra range : {Range} visit 2: local lexLev : {Int} local lexLevIsGlobal : _ local mustEnterNewPredScope : {Bool} local _tup94 : _ local isFirstLet : _ local predSameScopeCounterLet : _ intra hasInstDecl : {Bool} intra _tup114 : _ intra range : {Range} visit 3: local predScope : {PredScope} local _tup108 : _ local tyGam_l_ : {TyGam} local _tup109 : _ local tyKiGam_l_ : {TyKiGam} local lUniq3 : {UID} local fe : {FIEnv} local _tup83 : _ local polGam_l : {PolGam} local _tup84 : _ local polVarMpCyc : {VarMp} local _tup85 : _ local polOkCyc : {AssocL UID Polarity} local polInvVarMp : _ local lSubsPolGam1 : {PolGam} local lSubsPolGam2 : _ local finGathPolGam : {PolGam} local generPolGam : _ local extraPolGam : _ local tyKiUpdFreeTvarS : _ local gKiTvS : _ local _tup111 : _ local quTyKiVarMp : {VarMp} local bodyTyKiVarMp1 : _ local lQuTyKiGam_qu : {TyKiGam} local _tup112 : _ local lQuTyKiGam_ex : {TyKiGam} local _tup81 : _ local generDataTyAndConNmLL : _ local generDataTyAndConNmL : {[HsName]} local generTyKiGam : _ local extraTyKiGam : _ local generDataAllTyOrigNmL : _ local generTySynProjL : {[GenerTySynProjInfo]} local generTyGam : _ local extraTyGam : _ local tyGam_l_extra : {TyGam} local lQuTyGam : {TyGam} local exTyKiVarMp2 : {VarMp} local bodyTyKiVarMp2 : {VarMp} local lQuTyKiGam_ex_extra : {TyKiGam} local lQuTyKiGam_ex_subst : {TyKiGam} local lQuTyKiGam : {TyKiGam} local tyKiGam_g_ : _ local gSubsTyKiGam : {TyKiGam} local tyGam_g_ : _ local finGathPolGam_extra : {PolGam} intra mustEnterNewPredScope : {Bool} intra _tup114 : _ intra range : {Range} visit 4: local finTyKiGam : {TyKiGam} local generDataGam : _ local extraDataGam : _ local _tup113 : _ local lClGam : {ClGam} local lClGamNoDups : {ClGam} local forBodyClGam : _ local forDeclsClGam : {ClGam} local gathNewDataGam : _ local gathBodyDataGam : {DataGam} intra tyKiGam_l_ : {TyKiGam} intra generDataTyAndConNmL : {[HsName]} intra lQuTyGam : {TyGam} intra _tup114 : _ intra generTySynProjL : {[GenerTySynProjInfo]} intra fe : {FIEnv} intra tyGam_l_ : {TyGam} intra predScope : {PredScope} intra range : {Range} intra _tup111 : _ intra _tup85 : _ intra lQuTyKiGam_ex_subst : {TyKiGam} intra finGathPolGam_extra : {PolGam} visit 5: local chrClassDeclSq : _ local chrFIIn : {FIIn} local lUniq_92_prTyMeta : {UID} local _tup82 : _ local generInstDeclL : {[CHRScopedInstanceDecl]} intra _tup114 : _ intra generTySynProjL : {[GenerTySynProjInfo]} intra fe : {FIEnv} intra tyGam_l_ : {TyGam} intra finTyKiGam : {TyKiGam} intra predScope : {PredScope} intra range : {Range} intra lQuTyGam : {TyGam} intra forBodyClGam : _ intra _tup111 : _ intra forDeclsClGam : {ClGam} intra _tup85 : _ intra lQuTyKiGam_ex_subst : {TyKiGam} intra lClGamNoDups : {ClGam} intra gathNewDataGam : _ intra finGathPolGam_extra : {PolGam} visit 6: local lUniq_freshKnTy : {UID} local _tup100 : _ local knTopTy : _ local knTy : {Ty} local lUniq_fit : {UID} local lUniq5 : {UID} local lUniq2 : {UID} local lUniq : {UID} local _tup103 : _ local exTyVarMp1 : {VarMp} local gathTySigGam_l_ : _ local tyVarMpDeclsUpd : _ local resTy : {Ty} local doFit : {DoFit} local foKnRes : {FIOut} local patTyVarMpDeclsUpd : _ local _tup101 : _ local valGam_l_ : {ValGam} local tyVarMpDeclsL0 : {VarMp} local gathTvKiVarMp1 : {VarMp} local quTvKiVarMp : {VarMp} local tyVarMpDeclsL01 : {VarMp} local valQuTyKiGam : {TyKiGam} local tyTyUpdFreeTvarS : _ local valTyUpdFreeTvarS : _ local gTyTvS : {TyVarIdS} local noLetQuantTyVarIdS : {TyVarIdS} local doValGamQuantify : _ local doPredAmbigSplitForSimplify : _ local toProveCnstrMp : _ local _tup86 : _ local toProveHereCnstrMp : _ local chrProveFIIn : {FIIn} local _tup87 : _ local chrSolve1SimpTyVarMp : {VarMp} local tyVarMpDeclsQuant : {VarMp} local chrSolve1RemCnstrMp : _ local _tup89 : _ local toAssumeNeverCnstrMp : _ local cannotRes1CnstrMp : _ local cannotProveCnstrMp : _ local toQuantOverPrOccL : {[PredOcc]} local _tup106 : _ local _tup107 : _ local tqoGam : {TQOGam} local tmpoTyVarMp : _ local quTyVarMp : {VarMp} local quValGam_qu_ : {ValGam} local _tup105 : _ local exTyVarMp2 : _ local bodyVarMp1 : _ local bodyVarMp2 : {VarMp} local quValGam_ex_ : {ValGam} local quValGam_ : _ local valGam_g_ : _ local gSubsValGam_ : {ValGam} local bodyValGam : {ValGam} local imTy : {Ty} local imSubsTy : {Ty} local _tup95 : _ local knPrL : {[PredOcc]} local toProveElsewhereCnstrMp : _ local quValGam_ex_subst : {ValGam} local gathTvKiVarMp2 : {VarMp} local tyTyGlobFreeTvarSbody : _ local hereCnstrMp : _ local gathCnstrMp : _ local finValGamDecls : {ValGam} local gathValGam : {ValGam} local ty : {Ty} intra _tup114 : _ intra fe : {FIEnv} intra tyGam_l_ : {TyGam} intra finTyKiGam : {TyKiGam} intra predScope : {PredScope} intra chrFIIn : {FIIn} intra range : {Range} intra lQuTyGam : {TyGam} intra forBodyClGam : _ intra _tup111 : _ intra _tup82 : _ intra forDeclsClGam : {ClGam} intra _tup85 : _ intra lQuTyKiGam_ex_subst : {TyKiGam} intra lClGamNoDups : {ClGam} intra gathNewDataGam : _ intra finGathPolGam_extra : {PolGam} visit 7: local sysfEnv : _ local finValGam : {ValGam} local finTyVarMp : _ local exprCtxt : _ local lUniq_gener : {UID} local lUniq6 : {UID} local lUniq4 : {UID} local rceEnv : _ local cycTyKiVarMp_l : {VarMp} local cycTyVarMp_l : {VarMp} local predAmbigErrs : _ local predNotPrfErrs : _ local occCycTyKiErrs : _ local occCycTyErrs : _ local dupErrs : _ local generInstInfoL : {[GenerDataInstInfo]} local _tup99 : _ local errsDataGenerBind : _ local _tup92 : _ local quantCnstrMp : _ local secondProofIsNeeded : _ local chrSolve1EvidCoreMp : {EvidKeyToCExprMap} local chrSolve1ScopeBindMp : {PredScopeToCBindMap} local chrSolve1EvidBindMp : {EvidKeyToCBindMap} local chrSolve1EvidCBindL : _ local chrSolve1EvidMp : {InfoToEvidenceMap} local chrSimplifyResult1 : {SimplifyResult} local toProveHereCnstrMpCanon : _ local _tup90 : _ local chrSolve2Errs : _ local chrSolve1Errs : {ErrL} local polErrCyc : {AssocL UID Polarity} local cycVarMp : {VarMp} local cycErrSq : _ local letErrL : _ local chrSolve2ScopeBindMp : _ local chrSolveScopeBindMp : _ local chrLetScopeBindMp : _ local _tup93 : _ local chrScopeBindMp : _ local chrSolve2EvidBindMp : _ local chrSolveEvidBindMp : _ local chrEvidBindMp : _ local coeArgIdMp : _ local prvArgCSubst : _ local lUniq_cexpr : {UID} local knImplsTl : {Impls} local impls2KnTl : _ local impls2KnHd : _ local impls2KnHdTl : _ local poiPrL : _ local finKnImplsL : _ local finKnImplsLExpanded : _ local cDataGenerBindL : _ local _tup97 : _ local dataValCBindL : _ local chrScopeBindL : _ local letCBindOtherL : _ local howToBind : _ local chrSolve2EvidCBindL : _ local letValCBindL : _ local _tup98 : _ local letCBody : _ local letCBindRemL : _ local poiL : _ local poiAndAcoreTyL : _ local chrAssumeBindL : _ local poiBindL : _ local lamArgCoeL : {[Coe]} local cann : _ local cSubstTop : _ local mkBangEval : _ local cexprtop : _ local _tup96 : _ local cexpr : _ local errLetPP : _ local extraPP : _ local pp : _ local backCBindL : _ local cexprapptopCSubst : _ local frontCBindL : _ local chrSimplifyResult2 : _ local gathMentrelFilterMp : _ local lamArgPPL : _ local lamBodyPP : _ local dataTyCBindL : _ local letTyCBindL : _ local letCBindMainL : _ local trppHere : _ intra forBodyClGam : _ intra finTyKiGam : {TyKiGam} intra gathValGam : {ValGam} intra _tup114 : _ intra bodyValGam : {ValGam} intra _tup111 : _ intra _tup107 : _ intra valGam_l_ : {ValGam} intra tyVarMpDeclsL0 : {VarMp} intra quValGam_ex_subst : {ValGam} intra range : {Range} intra toQuantOverPrOccL : {[PredOcc]} intra tqoGam : {TQOGam} intra cannotProveCnstrMp : _ intra _tup82 : _ intra forDeclsClGam : {ClGam} intra predScope : {PredScope} intra _tup87 : _ intra chrSolve1RemCnstrMp : _ intra chrProveFIIn : {FIIn} intra _tup85 : _ intra tmpoTyVarMp : _ intra _tup95 : _ intra imSubsTy : {Ty} intra fe : {FIEnv} intra finValGamDecls : {ValGam} intra lQuTyGam : {TyGam} intra lQuTyKiGam_ex_subst : {TyKiGam} intra lClGamNoDups : {ClGam} intra gathNewDataGam : _ intra finGathPolGam_extra : {PolGam} alternative Lam: child hsrange : {Range} child arg : PatExpr child body : Expr visit 0: local range : {Range} visit 1: local _tup123 : _ intra range : {Range} visit 2: local lexLev : {Int} local isFirstLet : _ local mustEnterNewPredScope : {Bool} local _tup116 : _ local predSameScopeCounterLam : _ intra range : {Range} intra _tup123 : _ visit 3: local predScope : {PredScope} intra mustEnterNewPredScope : {Bool} intra lexLev : {Int} intra range : {Range} intra _tup123 : _ visit 4: intra range : {Range} intra predScope : {PredScope} intra _tup123 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra predScope : {PredScope} intra _tup123 : _ visit 6: local tySigGam : {ValGam} local lUniq2 : {UID} local lUniq : {UID} local _tup121 : _ local funTy : {Ty} local argTy : _ local doFit : {DoFit} local lamKnTyVarMp : _ local knFunFIOpts : {FIOpts} local fo_fitF_ : {FIOut} local forArgTyVarMp : _ local resTy : {Ty} local imTy : {Ty} local imSubsTy : {Ty} local _tup117 : _ local knPrL : {[PredOcc]} local hereCnstrMp : _ local _tup122 : _ local knImpls : {TyL} local ty : {Ty} intra _tup123 : _ intra fe : {FIEnv} intra predScope : {PredScope} intra range : {Range} visit 7: local _tup115 : _ local chrScopeBindMp : _ local tySigVarMp : _ local lUniq_cexpr : {UID} local rceEnv : _ local knImplsTl : {Impls} local impls2KnTl : _ local impls2KnHd : _ local impls2KnHdTl : _ local poiPrL : _ local finKnImplsL : _ local finKnImplsLExpanded : _ local finalTyArg : _ local finalTyArgExpanded : _ local poiL : _ local poiAndAcoreTyL : _ local sysftyLamArg : _ local acoretyArg : _ local chrAssumeBindL : _ local chrScopeBindL : _ local poiBindL : _ local lamArgCoeL : {[Coe]} local lamBodyCoeL : _ local _tup118 : _ local cexpr : _ local argPP : _ local lamArgPPL : _ local pp : _ local cexprlamCSubst : _ local trppHere : _ intra predScope : {PredScope} intra _tup123 : _ intra _tup117 : _ intra imSubsTy : {Ty} intra fe : {FIEnv} intra fo_fitF_ : {FIOut} intra range : {Range} alternative AppTop: child hsrange : {Range} child expr : Expr visit 0: local range : {Range} visit 1: local _tup130 : _ intra range : {Range} visit 2: local isFirstLet : _ local mustEnterNewPredScope : {Bool} local _tup125 : _ local predSameScopeCounterTop : _ intra range : {Range} intra _tup130 : _ visit 3: local predScope : {PredScope} intra mustEnterNewPredScope : {Bool} intra range : {Range} intra _tup130 : _ visit 4: intra range : {Range} intra predScope : {PredScope} intra _tup130 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra predScope : {PredScope} intra _tup130 : _ visit 6: local lUniq_freshKnTy : {UID} local _tup129 : _ local knTopTy : _ local knTy : {Ty} local lUniq_fit : {UID} local resTy : {Ty} local doFit : {DoFit} local foKnRes : {FIOut} local forExprTyVarMp : _ local imTy : {Ty} local imSubsTy : {Ty} local _tup126 : _ local knPrL : {[PredOcc]} local hereCnstrMp : _ local ty : {Ty} intra _tup130 : _ intra fe : {FIEnv} intra predScope : {PredScope} intra range : {Range} visit 7: local exprCtxt : _ local _tup124 : _ local chrScopeBindMp : _ local lUniq_cexpr : {UID} local knImplsTl : {Impls} local impls2KnTl : _ local impls2KnHd : _ local impls2KnHdTl : _ local poiPrL : _ local finKnImplsL : _ local finKnImplsLExpanded : _ local finalTy : _ local finalTyExpanded : _ local poiL : _ local poiAndAcoreTyL : _ local chrAssumeBindL : _ local chrScopeBindL : _ local poiBindL : _ local lamArgCoeL : {[Coe]} local cann : _ local cSubstTop : _ local cexprtop : _ local _tup127 : _ local cexpr : _ local _tup128 : _ local pp : _ local cexprapptopCSubst : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra predScope : {PredScope} intra _tup130 : _ intra _tup126 : _ intra imSubsTy : {Ty} intra fe : {FIEnv} intra ty : {Ty} intra range : {Range} alternative Parens: child hsrange : {Range} child expr : Expr visit 0: local range : {Range} visit 1: intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} visit 3: local predScope : {PredScope} intra range : {Range} visit 4: intra range : {Range} visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} visit 7: local cexpr : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ alternative TypeAs: child hsrange : {Range} child isScoped : {Bool} child tyExpr : TyExpr child expr : Expr visit 0: local range : {Range} visit 1: local _tup132 : _ intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} intra _tup132 : _ visit 3: local predScope : {PredScope} intra range : {Range} intra _tup132 : _ visit 4: intra range : {Range} intra _tup132 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup132 : _ visit 6: local lUniq : {UID} local fo_fitDown : {FIOut} local tyVarWildS : _ local tyTyUpdFreeTvarS : _ local valTyUpdFreeTvarS : _ local gTyTvS : {TyVarIdS} local tyTy : _ local ty_q_ : {Ty} local knTyFIOpts : {FIOpts} local fo_ : {FIOut} local ty_q_2_VarMp : {VarMp} local knTyDown : {Ty} local hereCnstrMp : _ intra _tup132 : _ intra fe : {FIEnv} intra range : {Range} visit 7: local exprCtxt : _ local lUniq_cexpr : {UID} local _tup131 : _ local cexpr : _ local pp : _ local cexprtypeasCSubst : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup132 : _ intra fo_ : {FIOut} intra fo_fitDown : {FIOut} intra range : {Range} alternative Ann: child hsrange : {Range} child ann : ExprAnn child expr : Expr visit 0: local range : {Range} visit 1: intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} visit 3: local predScope : {PredScope} intra range : {Range} visit 4: intra range : {Range} visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} visit 7: local exprCtxt : _ local cexpr : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ alternative AppImpred: child hsrange : {Range} child func : Expr child arg : Expr visit 0: local range : {Range} visit 1: local _tup139 : _ intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} intra _tup139 : _ visit 3: local predScope : {PredScope} intra range : {Range} intra _tup139 : _ visit 4: intra range : {Range} intra _tup139 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup139 : _ visit 6: local lUniq : {UID} local _tup137 : _ local knFunTy : _ local argTy : _ local argFIOpts : _ local ty : {Ty} local lUniq3 : {UID} local imTy : {Ty} local _tup138 : _ local implsTl : {Impls} local imPrvOcc : {ImplsProveOcc} local _tup133 : _ local prvOccTlVarMp : _ local tyVarMpApp : {VarMp} intra _tup139 : _ visit 7: local exprCtxt : _ local prOccL : {[PredOcc]} local appImplsCoeL : _ local _tup135 : _ local argPP : _ local lUniq_cexpr : {UID} local _tup134 : _ local cexprappCSubst : _ local cexprapp : _ local cexpr : _ local lamArgPPL : _ local pp : _ local lamBodyPP : _ local trppHere : _ intra _tup138 : _ intra imPrvOcc : {ImplsProveOcc} intra _tup139 : _ alternative SConst: child hsrange : {Range} child str : {String} visit 0: local range : {Range} visit 1: local _tup141 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup141 : _ visit 3: intra range : {Range} intra _tup141 : _ visit 4: intra range : {Range} intra _tup141 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup141 : _ visit 6: local lUniq : {UID} local constTy : {Ty} local fo_ : {FIOut} local ty : {Ty} local tyVarMp : {VarMp} intra _tup141 : _ intra fe : {FIEnv} intra range : {Range} visit 7: local lUniq_cexpr : {UID} local cexprBase : _ local _tup140 : _ local cexpr : _ local pp : _ local cexprCSubst : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup141 : _ intra fo_ : {FIOut} intra range : {Range} alternative Case: child hsrange : {Range} child expr : Expr child alts : CaseAlts child mbCaseIds : {Maybe UIDS} child caseFailS : {UIDS} child isTupOfArg : {Bool} visit 0: local range : {Range} visit 1: local _tup142 : _ intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} intra _tup142 : _ visit 3: local predScope : {PredScope} intra range : {Range} intra _tup142 : _ visit 4: intra range : {Range} intra _tup142 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup142 : _ visit 6: local lUniq2 : {UID} local exprFiOpts : {FIOpts} local altsFiOpts : {FIOpts} intra _tup142 : _ intra fe : {FIEnv} visit 7: local exprCtxt : _ local caseIds : _ local rceEnv : _ local finalTyExpr : _ local finalTyExprExpanded : _ local sysfty : _ local acorety : _ local cexpr : _ local extraPP : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra fe : {FIEnv} intra lUniq2 : {UID} alternative DataFields: child hsrange : {Range} child dataFieldExpr : DataFieldExpr visit 0: local range : {Range} visit 1: local _tup145 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup145 : _ visit 3: local predScope : {PredScope} intra range : {Range} intra _tup145 : _ visit 4: intra range : {Range} intra _tup145 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup145 : _ visit 6: local fldFIOpts : _ local lUniq : {UID} local fldL : {[HsName]} local dgi : {DataGamInfo} local dtiL : {[DataTagInfo]} local fldS : {HsNameS} local _tup144 : _ intra _tup145 : _ intra fe : {FIEnv} intra range : {Range} visit 7: local rceEnv : _ local _tup143 : _ local dtiInFldL : _ local dfexpr : _ local cexpr : _ local pp : _ local dfErrs : {ErrL} local fldDupErrs : _ local fldMissErrs : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ local ppAST : _ intra dgi : {DataGamInfo} intra dtiL : {[DataTagInfo]} intra fldS : {HsNameS} intra fldL : {[HsName]} intra lUniq : {UID} intra _tup144 : _ intra range : {Range} alternative Rec: child hsrange : {Range} child recExpr : RecExpr visit 0: local range : {Range} visit 1: local _tup151 : _ intra range : {Range} visit 2: local mustEnterNewPredScope : {Bool} local _tup147 : _ local predSameScopeCounterTop : _ intra range : {Range} intra _tup151 : _ visit 3: local predScope : {PredScope} intra mustEnterNewPredScope : {Bool} intra range : {Range} intra _tup151 : _ visit 4: intra range : {Range} intra predScope : {PredScope} intra _tup151 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra predScope : {PredScope} intra _tup151 : _ visit 6: local lUniq_freshKnTy : {UID} local lUniq_fit : {UID} local _tup150 : _ local resTy : {Ty} local doFit : {DoFit} local recFiOpts : {FIOpts} local foKnRes : {FIOut} local forExprTyVarMp : _ local fo_ : {FIOut} local knTopTy : _ local knRecTy : {Ty} local imTy : {Ty} local imSubsTy : {Ty} local _tup148 : _ local knPrL : {[PredOcc]} local hereCnstrMp : _ local ty : {Ty} intra _tup151 : _ intra fe : {FIEnv} intra predScope : {PredScope} intra range : {Range} visit 7: local _tup146 : _ local chrScopeBindMp : _ local lUniq_cexpr : {UID} local lUniq3 : {UID} local knImplsTl : {Impls} local impls2KnTl : _ local impls2KnHd : _ local impls2KnHdTl : _ local poiPrL : _ local finKnImplsL : _ local finKnImplsLExpanded : _ local poiL : _ local poiAndAcoreTyL : _ local chrAssumeBindL : _ local chrScopeBindL : _ local poiBindL : _ local lamArgCoeL : {[Coe]} local rcexpr : _ local cann : _ local cSubstTop : _ local cexprtop : _ local _tup149 : _ local cexpr : _ local cexprapptopCSubst : _ local appFunNm : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ local ppAST : _ intra predScope : {PredScope} intra _tup151 : _ intra _tup148 : _ intra imSubsTy : {Ty} intra fe : {FIEnv} intra fo_ : {FIOut} intra range : {Range} alternative Sel: child hsrange : {Range} child expr : Expr child lbl : {HsName} visit 0: local range : {Range} visit 1: local _tup156 : _ intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} intra _tup156 : _ visit 3: local predScope : {PredScope} intra range : {Range} intra _tup156 : _ visit 4: intra range : {Range} intra _tup156 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup156 : _ visit 6: local lUniq_freshKnTy : {UID} local lUniq2 : {UID} local _tup154 : _ local knExprTy : {Ty} local knRowTy : _ local prUid : {PredOccId} local prOccL : {[PredOcc]} local hereCnstrMp : _ local _tup155 : _ local ty : {Ty} intra _tup156 : _ intra range : {Range} visit 7: local exprCtxt : _ local rceEnv : _ local offset : _ local cexpr : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ local ppAST : _ intra prUid : {PredOccId} intra lUniq_freshKnTy : {UID} alternative Undefined: child hsrange : {Range} visit 0: local range : {Range} visit 1: local _tup157 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup157 : _ visit 3: intra range : {Range} intra _tup157 : _ visit 4: intra range : {Range} intra _tup157 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup157 : _ visit 6: local lUniq : {UID} local ty : {Ty} intra _tup157 : _ visit 7: local cexpr : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ alternative CaseAltFail: child hsrange : {Range} child caseId : {UID} visit 0: local range : {Range} visit 1: local _tup158 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup158 : _ visit 3: intra range : {Range} intra _tup158 : _ visit 4: intra range : {Range} intra _tup158 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup158 : _ visit 6: local lUniq : {UID} local ty : {Ty} intra _tup158 : _ visit 7: local cexpr : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ alternative AppImpl: child hsrange : {Range} child func : Expr child argPr : PrExpr child arg : Expr visit 0: local range : {Range} visit 1: local _tup163 : _ intra range : {Range} visit 2: local isFirstLet : _ intra range : {Range} intra _tup163 : _ visit 3: local predScope : {PredScope} intra range : {Range} intra _tup163 : _ visit 4: intra range : {Range} intra _tup163 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup163 : _ visit 6: local lUniq : {UID} local knFunTy : _ local _tup161 : _ local knImpls : {TyL} local _tup162 : _ local knArgImpl : _ local foPr : {FIOut} local knResImpls : _ local ty_ : _ local ty : {Ty} intra _tup163 : _ intra range : {Range} visit 7: local exprCtxt : _ local appImplsCoeL : _ local _tup160 : _ local argPP : _ local lUniq_cexpr : {UID} local _tup159 : _ local cexprappCSubst : _ local cexprapp : _ local cexpr : _ local nmErrs : {ErrL} local pp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup163 : _ intra foPr : {FIOut} intra range : {Range} alternative LamImpl: child hsrange : {Range} child argPr : PrExpr child arg : PatExpr child body : Expr visit 0: local range : {Range} visit 1: local _tup169 : _ intra range : {Range} visit 2: local lexLev : {Int} local isFirstLet : _ local mustEnterNewPredScope : {Bool} local _tup165 : _ local predSameScopeCounterLam : _ intra range : {Range} intra _tup169 : _ visit 3: local predScope : {PredScope} intra mustEnterNewPredScope : {Bool} intra lexLev : {Int} intra range : {Range} intra _tup169 : _ visit 4: intra range : {Range} intra predScope : {PredScope} intra _tup169 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra predScope : {PredScope} intra _tup169 : _ visit 6: local tySigGam : {ValGam} local lUniq4 : {UID} local lUniq2 : {UID} local lUniq : {UID} local funTy : {Ty} local doFit : {DoFit} local fo_fitF_ : {FIOut} local knImplsVarMp : _ local _tup167 : _ local knImpls : {TyL} local _tup168 : _ local knArgImpl : _ local foPr : {FIOut} local forArgTyVarMp : _ local knResImpls : _ local ty_ : _ local knPrUid : {PredOccId} local knPr : _ local knPrL : {[PredOcc]} local hereCnstrMp : _ local ty : {Ty} intra _tup169 : _ intra fe : {FIEnv} intra predScope : {PredScope} intra range : {Range} visit 7: local _tup164 : _ local chrScopeBindMp : _ local tySigVarMp : _ local lUniq_cexpr : {UID} local rceEnv : _ local finalTyArg : _ local finalTyArgExpanded : _ local sysftyLamArg : _ local acoretyArg : _ local poiL : _ local chrAssumeBindL : _ local chrScopeBindL : _ local poiBindL : _ local lamArgCoeL : {[Coe]} local lamBodyCoeL : _ local _tup166 : _ local cexpr : _ local argPP : _ local lamArgPPL : _ local pp : _ local cexprlamCSubst : _ local nmErrs : {ErrL} local trppHere : _ intra predScope : {PredScope} intra _tup169 : _ intra fe : {FIEnv} intra knPrUid : {PredOccId} intra foPr : {FIOut} intra fo_fitF_ : {FIOut} intra range : {Range} alternative DynVar: child hsrange : {Range} child nm : {HsName} visit 0: local range : {Range} visit 1: intra range : {Range} visit 2: intra range : {Range} visit 3: intra range : {Range} visit 4: intra range : {Range} visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} visit 6: local ty : {Ty} visit 7: local cexpr : _ local pp : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ alternative IIConst: child hsrange : {Range} child integer : {Integer} visit 0: local range : {Range} visit 1: local _tup171 : _ intra range : {Range} visit 2: intra range : {Range} intra _tup171 : _ visit 3: intra range : {Range} intra _tup171 : _ visit 4: intra range : {Range} intra _tup171 : _ visit 5: local fe : {FIEnv} local chrFIIn : {FIIn} intra range : {Range} intra _tup171 : _ visit 6: local lUniq : {UID} local constTy : {Ty} local fo_ : {FIOut} local ty : {Ty} local tyVarMp : {VarMp} intra _tup171 : _ intra fe : {FIEnv} visit 7: local lUniq_cexpr : {UID} local cexprBase : _ local _tup170 : _ local cexpr : _ local pp : _ local cexprCSubst : _ local lamArgPPL : _ local lamBodyPP : _ local trppHere : _ intra _tup171 : _ intra fo_ : {FIOut} -} sem_Expr_IConst :: Range -> Int -> T_Expr sem_Expr_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_Expr_IConst_1 :: T_Expr_1 sem_Expr_IConst_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_cexpr)}} )) of { __tup63 | __tup63 `seq` (True) -> (case (__tup63) of { (_lhsOgUniq,_,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_IConst_2 :: T_Expr_2 sem_Expr_IConst_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_IConst_3 :: T_Expr_3 sem_Expr_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 ((let sem_Expr_IConst_4 :: T_Expr_4 sem_Expr_IConst_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_IConst_5 :: T_Expr_5 sem_Expr_IConst_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_IConst_6 :: T_Expr_6 sem_Expr_IConst_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (__tup63) of { (_,_lUniq,_) | _lUniq `seq` (True) -> (case (tyInt) of { _constTy | _constTy `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.?Const.loc.fo_" $ fitsIn _lhsIfiOpts _fe _lUniq _lhsItyVarMp _constTy _lhsIknTy) of { _fo_ | _fo_ `seq` (True) -> (case (foGathCnstrMp _fo_) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (_hereCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (foTy _fo_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _tyVarMp | _tyVarMp `seq` (True) -> (case (_tyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_IConst_7 :: T_Expr_7 sem_Expr_IConst_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup63) of { (_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (acoreInt _lhsIopts int_) of { _cexprBase | _cexprBase `seq` (True) -> (case (foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _lhsIcSubst $ _cexprBase) of { __tup62 | __tup62 `seq` (True) -> (case (__tup62) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `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 ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup62) of { (_,_cexprCSubst) | _cexprCSubst `seq` (True) -> (case (cSubstApp _lhsIcSubst _cexprCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (rngLift _range mkNestErr' _pp [foErrSq _fo_]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","IConst"] [_pp] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_IConst_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_IConst_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_IConst_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_IConst_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_IConst_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_IConst_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_IConst_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_CConst :: Range -> Char -> T_Expr sem_Expr_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_Expr_CConst_1 :: T_Expr_1 sem_Expr_CConst_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_cexpr)}} )) of { __tup65 | __tup65 `seq` (True) -> (case (__tup65) of { (_lhsOgUniq,_,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_CConst_2 :: T_Expr_2 sem_Expr_CConst_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_CConst_3 :: T_Expr_3 sem_Expr_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 ((let sem_Expr_CConst_4 :: T_Expr_4 sem_Expr_CConst_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_CConst_5 :: T_Expr_5 sem_Expr_CConst_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_CConst_6 :: T_Expr_6 sem_Expr_CConst_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (__tup65) of { (_,_lUniq,_) | _lUniq `seq` (True) -> (case (tyChar) of { _constTy | _constTy `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.?Const.loc.fo_" $ fitsIn _lhsIfiOpts _fe _lUniq _lhsItyVarMp _constTy _lhsIknTy) of { _fo_ | _fo_ `seq` (True) -> (case (foGathCnstrMp _fo_) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (_hereCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (foTy _fo_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _tyVarMp | _tyVarMp `seq` (True) -> (case (_tyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_CConst_7 :: T_Expr_7 sem_Expr_CConst_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup65) of { (_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (CExpr_Char char_) of { _cexprBase | _cexprBase `seq` (True) -> (case (foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _lhsIcSubst $ _cexprBase) of { __tup64 | __tup64 `seq` (True) -> (case (__tup64) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `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 ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup64) of { (_,_cexprCSubst) | _cexprCSubst `seq` (True) -> (case (cSubstApp _lhsIcSubst _cexprCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (rngLift _range mkNestErr' _pp [foErrSq _fo_]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","CConst"] [_pp] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_CConst_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_CConst_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_CConst_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_CConst_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_CConst_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_CConst_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_CConst_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_Con :: Range -> HsName -> T_Expr sem_Expr_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_Expr_Con_1 :: T_Expr_1 sem_Expr_Con_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_cexpr)}} )) of { __tup69 | __tup69 `seq` (True) -> (case (__tup69) of { (_lhsOgUniq,_,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Con_2 :: T_Expr_2 sem_Expr_Con_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_Con_3 :: T_Expr_3 sem_Expr_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 ((let sem_Expr_Con_4 :: T_Expr_4 sem_Expr_Con_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Con_5 :: T_Expr_5 sem_Expr_Con_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Con_6 :: T_Expr_6 sem_Expr_Con_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (__tup69) of { (_,_lUniq,_) | _lUniq `seq` (True) -> (case (valGamLookupTy nm_ _lhsIvalGam) of { __tup68 | __tup68 `seq` (True) -> (case (__tup68) of { (_ty_g_,_) | _ty_g_ `seq` (True) -> (case (\o m -> fitsIn o _fe _lUniq m _ty_g_ _lhsIknTy) of { _doFit | _doFit `seq` (True) -> (case (_doFit _lhsIfiOpts _lhsItyVarMp) of { _fo_ | _fo_ `seq` (True) -> (case (foGathCnstrMp _fo_) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (_hereCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (foTy _fo_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _tyVarMp | _tyVarMp `seq` (True) -> (case (_tyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Con_7 :: T_Expr_7 sem_Expr_Con_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup69) of { (_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (acoreExprUnThunk $ acoreVar nm_) of { _cexprBase | _cexprBase `seq` (True) -> (case (foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _lhsIcSubst $ _cexprBase) of { __tup66 | __tup66 `seq` (True) -> (case (__tup66) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (nm_) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppCon nm_) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup66) of { (_,_cexprCSubst) | _cexprCSubst `seq` (True) -> (case (cSubstApp _lhsIcSubst _cexprCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (__tup68) of { (_,_nmErrs) | _nmErrs `seq` (True) -> (case (rngLift _range mkNestErr' _pp [Seq.fromList _nmErrs, foErrSq _fo_]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (mentrelFilterMpSingleton [_lhsImoduleNm] IdOcc_Val nm_ `mentrelFilterMpUnion` tyUsedNames _lhsImoduleNm _finalTy) of { _gathMentrelFilterMp | _gathMentrelFilterMp `seq` (True) -> (case (_gathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (dataGamLookupErr nm_ _lhsIdataGam) of { __tup67 | __tup67 `seq` (True) -> (case (__tup67) of { (_dgi,_) | _dgi `seq` (True) -> (case (dgiIsNewtype _dgi) of { _isNewtype | _isNewtype `seq` (True) -> (case (_isNewtype) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Con"] [ppTrNm nm_] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Con_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Con_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_Con_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_Con_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_Con_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_Con_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_Con_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_Var :: Range -> HsName -> T_Expr sem_Expr_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_Expr_Var_1 :: T_Expr_1 sem_Expr_Var_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_cexpr)}} )) of { __tup72 | __tup72 `seq` (True) -> (case (__tup72) of { (_lhsOgUniq,_,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Var_2 :: T_Expr_2 sem_Expr_Var_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_Var_3 :: T_Expr_3 sem_Expr_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 ((let sem_Expr_Var_4 :: T_Expr_4 sem_Expr_Var_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Var_5 :: T_Expr_5 sem_Expr_Var_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Var_6 :: T_Expr_6 sem_Expr_Var_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (__tup72) of { (_,_lUniq,_) | _lUniq `seq` (True) -> (case (valGamLookupTy nm_ _lhsIvalGam) of { __tup71 | __tup71 `seq` (True) -> (case (__tup71) of { (_ty_g_,_) | _ty_g_ `seq` (True) -> (case (\o m -> fitsIn o _fe _lUniq m _ty_g_ _lhsIknTy) of { _doFit | _doFit `seq` (True) -> (case (_doFit _lhsIfiOpts _lhsItyVarMp) of { _fo_ | _fo_ `seq` (True) -> (case (foGathCnstrMp _fo_) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (_hereCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (foTy _fo_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _tyVarMp | _tyVarMp `seq` (True) -> (case (_tyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Var_7 :: T_Expr_7 sem_Expr_Var_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup72) of { (_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (acoreExprUnThunk $ acoreVar nm_) of { _cexprBase | _cexprBase `seq` (True) -> (case (foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _lhsIcSubst $ _cexprBase) of { __tup70 | __tup70 `seq` (True) -> (case (__tup70) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `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 ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup70) of { (_,_cexprCSubst) | _cexprCSubst `seq` (True) -> (case (cSubstApp _lhsIcSubst _cexprCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (__tup71) of { (_,_nmErrs) | _nmErrs `seq` (True) -> (case (rngLift _range mkNestErr' _pp [Seq.fromList _nmErrs, foErrSq _fo_]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (mentrelFilterMpSingleton [_lhsImoduleNm] IdOcc_Val nm_ `mentrelFilterMpUnion` tyUsedNames _lhsImoduleNm _finalTy) of { _gathMentrelFilterMp | _gathMentrelFilterMp `seq` (True) -> (case (_gathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Var"] [ppTrNm nm_] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Var_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Var_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_Var_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_Var_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_Var_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_Var_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_Var_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_App :: Range -> T_Expr -> T_Expr -> T_Expr sem_Expr_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_Expr_App_1 :: T_Expr_1 sem_Expr_App_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq3) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq3,lUniq_cexpr)}}} )) of { __tup80 | __tup80 `seq` (True) -> (case (__tup80) of { (_funcOgUniq,_,_,_) | _funcOgUniq `seq` (True) -> (case (func_1 _funcOgUniq) of { ( _funcIgUniq,_funcIhasInstDecl,func_2) | True -> (case (_funcIgUniq) of { _argOgUniq | _argOgUniq `seq` (True) -> (case (arg_1 _argOgUniq) of { ( _argIgUniq,_argIhasInstDecl,arg_2) | True -> (case (_argIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_App_2 :: T_Expr_2 sem_Expr_App_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 (True) of { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _funcOisFirstLet | _funcOisFirstLet `seq` (True) -> (case (func_2 _funcOisFirstLet _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 (_isFirstLet) of { _argOisFirstLet | _argOisFirstLet `seq` (True) -> (case (arg_2 _argOisFirstLet _argOkiGam _argOlexLev _argOpredSameScopeCounter) of { ( _argIpredSameScopeCounter,arg_3) | True -> (case (_argIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_App_3 :: T_Expr_3 sem_Expr_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 (_lhsItyKiGam) of { _argOtyKiGam | _argOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _argOtyGam | _argOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _argOpredScope | _argOpredScope `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _funcOtyKiGlobFreeTvarS | _funcOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _funcOtyKiGam | _funcOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _funcOtyGam | _funcOtyGam `seq` (True) -> (case (_predScope) 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,func_4) | 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,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 ((let sem_Expr_App_4 :: T_Expr_4 sem_Expr_App_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _argOtyTyTySigFreeTvarS | _argOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _funcOtyTyTySigFreeTvarS | _funcOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _funcOgathDataGam | _funcOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _funcOfinTyKiGam | _funcOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _funcOfinKiVarMp | _funcOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _funcOclGam | _funcOclGam `seq` (True) -> (case (func_4 _funcOclGam _funcOfinKiVarMp _funcOfinTyKiGam _funcOgathDataGam _funcOtyTyTySigFreeTvarS) of { ( _funcIgathDataGam,func_5) | True -> (case (_funcIgathDataGam) of { _argOgathDataGam | _argOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _argOfinTyKiGam | _argOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _argOfinKiVarMp | _argOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _argOclGam | _argOclGam `seq` (True) -> (case (arg_4 _argOclGam _argOfinKiVarMp _argOfinTyKiGam _argOgathDataGam _argOtyTyTySigFreeTvarS) of { ( _argIgathDataGam,arg_5) | True -> (case (_argIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_App_5 :: T_Expr_5 sem_Expr_App_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _argOdataGam | _argOdataGam `seq` (True) -> (case (_lhsIdataGam) of { _funcOdataGam | _funcOdataGam `seq` (True) -> (case (arg_5 _argOdataGam) of { ( _argIchrClassDeclSq,_argIchrFIIn,_argIchrInstDeclSq,_argIgathClDfGam,arg_6) | True -> (case (func_5 _funcOdataGam) of { ( _funcIchrClassDeclSq,_funcIchrFIIn,_funcIchrInstDeclSq,_funcIgathClDfGam,func_6) | True -> (case (_funcIchrInstDeclSq `Seq.union` _argIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_App_6 :: T_Expr_6 sem_Expr_App_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _argOvalTyGlobFreeTvarS | _argOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _argOvalGam | _argOvalGam `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _funcOvalTyGlobFreeTvarS | _funcOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _funcOvalGam | _funcOvalGam `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 (__tup80) of { (_,_lUniq,_,_) | _lUniq `seq` (True) -> (case (let [i,a] = mkNewUIDL 2 _lUniq im = mkImplsVar i at = mkTyVar a in ([im,at] `appArr` _lhsIknTy,im,at)) of { __tup78 | __tup78 `seq` (True) -> (case (__tup78) of { (_knFunTy,_,_) | _knFunTy `seq` (True) -> (case (_knFunTy) of { _funcOknTy | _funcOknTy `seq` (True) -> (case (implFIOpts) of { _funcOfiOpts | _funcOfiOpts `seq` (True) -> (case (func_6 _funcOchrStore _funcOclDfGam _funcOfiOpts _funcOknTy _funcOtvKiVarMp _funcOtyTyGlobFreeTvarS _funcOtyVarMp _funcOvalGam _funcOvalTyGlobFreeTvarS) of { ( _funcIgathCnstrMp,_funcIgathRangeMp,_funcIgathValGam,_funcInoLetQuantTyVarIdS,_funcIty,_funcItyVarMp,func_7) | 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 (__tup78) of { (_,_,_argTy) | _argTy `seq` (True) -> (case (__tup78) of { (_,_imTy,_) | _imTy `seq` (True) -> (case (_argTy) of { _argOknTy | _argOknTy `seq` (True) -> (case (instLFIOpts) of { _argFIOpts | _argFIOpts `seq` (True) -> (case (_argFIOpts) of { _argOfiOpts | _argOfiOpts `seq` (True) -> (case (arg_6 _argOchrStore _argOclDfGam _argOfiOpts _argOknTy _argOtvKiVarMp _argOtyTyGlobFreeTvarS _argOtyVarMp _argOvalGam _argOvalTyGlobFreeTvarS) of { ( _argIgathCnstrMp,_argIgathRangeMp,_argIgathValGam,_argInoLetQuantTyVarIdS,_argIty,_argItyVarMp,arg_7) | True -> (case (implsPredsTailWithLkup (varmpImplsLookupCyc2 _argItyVarMp) _lhsIpredScope $ tyImplsWithLkup (varmpTyLookupCyc2 _argItyVarMp) _imTy) of { __tup79 | __tup79 `seq` (True) -> (case (__tup79) of { (_prOccL,_) | _prOccL `seq` (True) -> (case (gathPredLToProveCnstrMp _prOccL) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (cnstrMpUnions [_hereCnstrMp, _funcIgathCnstrMp, _argIgathCnstrMp]) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_funcIgathRangeMp `Map.union` _argIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_funcInoLetQuantTyVarIdS `Set.union` _argInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_lhsIknTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (__tup80) of { (_,_,_lUniq3,_) | _lUniq3 `seq` (True) -> (case (__tup79) of { (_,_implsTl) | _implsTl `seq` (True) -> (case (mkImplsProveOcc _lUniq3 _lhsIpredScope) of { _imPrvOcc | _imPrvOcc `seq` (True) -> (case (varmpTailAddOcc _imPrvOcc _implsTl) of { __tup73 | __tup73 `seq` (True) -> (case (__tup73) of { (_,_prvOccTlVarMp) | _prvOccTlVarMp `seq` (True) -> (case (_prvOccTlVarMp `varUpd` _argItyVarMp) of { _tyVarMpApp | _tyVarMpApp `seq` (True) -> (case (_tyVarMpApp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_App_7 :: T_Expr_7 sem_Expr_App_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (_lhsItr) of { _argOtr | _argOtr `seq` (True) -> (case (_lhsImoduleNm) of { _argOmoduleNm | _argOmoduleNm `seq` (True) -> (case (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _argOexprCtxt | _argOexprCtxt `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 (_lhsItr) of { _funcOtr | _funcOtr `seq` (True) -> (case (_lhsImoduleNm) of { _funcOmoduleNm | _funcOmoduleNm `seq` (True) -> (case (_exprCtxt) of { _funcOexprCtxt | _funcOexprCtxt `seq` (True) -> (case (func_7 _funcOcSubst _funcOchrEvidBindMp _funcOchrScopeBindMp _funcOexprCtxt _funcOfinTyVarMp _funcOfinValGam _funcOmoduleNm _funcOrangeMp _funcOsysfEnv _funcOtr) of { ( _funcIallErrSq,_funcIappArgCoeL,_funcIappArgPPL,_funcIappFunCExpr,_funcIappFunNm,_funcIappFunPP,_funcIbackCBindL,_funcIcSubst,_funcIcaseFailS,_funcIcexpr,_funcIerrSq,_funcIfrontCBindL,_funcIfuCExprL,_funcIgathClGam,_funcIgathHiddenExports,_funcIgathKiGam,_funcIgathLamMp,_funcIgathMentrelFilterMp,_funcIgathPolGam,_funcIgathTvKiVarMp,_funcIgathTyGam,_funcIgathTyKiGam,_funcIisNewtype,_funcIlamArgPPL,_funcIlamBodyPP,_funcIletCBody,_funcIletTyCBindL,_funcIletValCBindL,_funcIletValMainCBindL,_funcIorphanS,_funcIpp,_funcIppAST,_funcItrpp) | True -> (case (_funcIcSubst) of { _argOcSubst | _argOcSubst `seq` (True) -> (case (arg_7 _argOcSubst _argOchrEvidBindMp _argOchrScopeBindMp _argOexprCtxt _argOfinTyVarMp _argOfinValGam _argOmoduleNm _argOrangeMp _argOsysfEnv _argOtr) of { ( _argIallErrSq,_argIappArgCoeL,_argIappArgPPL,_argIappFunCExpr,_argIappFunNm,_argIappFunPP,_argIbackCBindL,_argIcSubst,_argIcaseFailS,_argIcexpr,_argIerrSq,_argIfrontCBindL,_argIfuCExprL,_argIgathClGam,_argIgathHiddenExports,_argIgathKiGam,_argIgathLamMp,_argIgathMentrelFilterMp,_argIgathPolGam,_argIgathTvKiVarMp,_argIgathTyGam,_argIgathTyKiGam,_argIisNewtype,_argIlamArgPPL,_argIlamBodyPP,_argIletCBody,_argIletTyCBindL,_argIletValCBindL,_argIletValMainCBindL,_argIorphanS,_argIpp,_argIppAST,_argItrpp) | True -> (case (_funcIallErrSq `Seq.union` _argIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ((acoreCoePoiLApp $ map poPoi _prOccL) ++ [Coe_ImplApp $ ipoId _imPrvOcc]) of { _appImplsCoeL | _appImplsCoeL `seq` (True) -> (case (if _funcIisNewtype then ([],_argIcexpr) else (_funcIappArgCoeL ++ _appImplsCoeL ++ [acoreCoeApp1 _argIcexpr],_funcIappFunCExpr)) of { __tup75 | __tup75 `seq` (True) -> (case (__tup75) of { (_lhsOappArgCoeL,_) | _lhsOappArgCoeL `seq` (True) -> (case (mkExtAppPP (_funcIappFunNm,_funcIappFunPP,_funcIappArgPPL) (_argIappFunNm,_argIappFunPP,_argIappArgPPL,_argIpp)) of { __tup76 | __tup76 `seq` (True) -> (case (__tup76) of { (_,_lhsOappArgPPL) | _lhsOappArgPPL `seq` (True) -> (case (__tup75) of { (_,_lhsOappFunCExpr) | _lhsOappFunCExpr `seq` (True) -> (case (_funcIappFunNm) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (__tup76) of { (_lhsOappFunPP,_) | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup80) of { (_,_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (let mkapp f = wr $ acore1App f _argIcexpr wr = id impl app= mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _argIcSubst app _funcIcexpr _appImplsCoeL [] in impl mkapp) of { __tup74 | __tup74 `seq` (True) -> (case (__tup74) of { (_,_cexprappCSubst) | _cexprappCSubst `seq` (True) -> (case (cSubstApp _argIcSubst _cexprappCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_funcIcaseFailS `Set.union` _argIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (__tup74) of { (_cexprapp,_) | _cexprapp `seq` (True) -> (case (if _funcIisNewtype then _argIcexpr else _cexprapp) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (_funcIpp >#< _argIpp) of { _pp | _pp `seq` (True) -> (case (rngLift _range mkNestErr' _pp [_funcIerrSq, _argIerrSq]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_funcIgathHiddenExports `Seq.union` _argIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_funcIgathLamMp `lamMpUnionBindAspMp` _argIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_funcIgathMentrelFilterMp `mentrelFilterMpUnion` _argIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_funcIgathTvKiVarMp `varmpUnion` _argIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","App"] [] [_funcIppAST,_argIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_funcItrpp >< _argItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_App_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_App_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_App_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_Expr_App_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_App_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_App_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }))) in sem_Expr_App_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_Let :: Range -> Bool -> T_Decls -> T_Expr -> T_Expr sem_Expr_Let hsrange_ isStrict_ decls_ body_ | hsrange_ `seq` (isStrict_ `seq` (decls_ `seq` (body_ `seq` (True)))) = (case (body_) of { ( _bodyIrange,body_1) | True -> (case (decls_) of { ( _declsIrange,decls_1) | True -> (case (rangeUnions [hsrange_, _declsIrange , _bodyIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_Let_1 :: T_Expr_1 sem_Expr_Let_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) -> case nextUnique __cont of { (__cont, lUniq4) -> case nextUnique __cont of { (__cont, lUniq5) -> case nextUnique __cont of { (__cont, lUniq6) -> case nextUnique __cont of { (__cont, lUniq_92_prTyMeta) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> case nextUnique __cont of { (__cont, lUniq_fit) -> case nextUnique __cont of { (__cont, lUniq_freshKnTy) -> case nextUnique __cont of { (__cont, lUniq_gener) -> (__cont,lUniq,lUniq2,lUniq3,lUniq4,lUniq5,lUniq6,lUniq_92_prTyMeta,lUniq_cexpr,lUniq_fit,lUniq_freshKnTy,lUniq_gener)}}}}}}}}}}} )) of { __tup114 | __tup114 `seq` (True) -> (case (__tup114) of { (_declsOgUniq,_,_,_,_,_,_,_,_,_,_,_) | _declsOgUniq `seq` (True) -> (case (emptyGam) of { _declsOgathKiSigGam | _declsOgathKiSigGam `seq` (True) -> (case (decls_1 _declsOgUniq _declsOgathKiSigGam) of { ( _declsIgUniq,_declsIgathKiSigGam,_declsIhasInstDecl,decls_2) | True -> (case (_declsIgUniq) of { _bodyOgUniq | _bodyOgUniq `seq` (True) -> (case (body_1 _bodyOgUniq) of { ( _bodyIgUniq,_bodyIhasInstDecl,body_2) | True -> (case (_bodyIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (_declsIhasInstDecl || _bodyIhasInstDecl) of { _hasInstDecl | _hasInstDecl `seq` (True) -> (case (_hasInstDecl) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Let_2 :: T_Expr_2 sem_Expr_Let_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (if _lhsIisFirstLet then _lhsIlexLev + 1 else _lhsIlexLev) of { _lexLev | _lexLev `seq` (True) -> (case (_lexLev) of { _declsOlexLev | _declsOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _declsOkiGam | _declsOkiGam `seq` (True) -> (case (_lexLev == 0) of { _lexLevIsGlobal | _lexLevIsGlobal `seq` (True) -> (case (not _lexLevIsGlobal && _lhsIisFirstLet && _hasInstDecl) of { _mustEnterNewPredScope | _mustEnterNewPredScope `seq` (True) -> (case (pscpEnter' _mustEnterNewPredScope _lhsIpredSameScopeCounter) of { __tup94 | __tup94 `seq` (True) -> (case (decls_2 _declsOkiGam) of { ( _declsIgathTyKiSigGam,decls_3) | True -> (case (__tup94) of { (_,_declsOpredSameScopeCounter) | _declsOpredSameScopeCounter `seq` (True) -> (case (decls_3 _declsOlexLev _declsOpredSameScopeCounter) of { ( _declsIpredSameScopeCounter,decls_4) | True -> (case (_declsIpredSameScopeCounter) of { _bodyOpredSameScopeCounter | _bodyOpredSameScopeCounter `seq` (True) -> (case (_lexLev) of { _bodyOlexLev | _bodyOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _bodyOkiGam | _bodyOkiGam `seq` (True) -> (case (False) of { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _bodyOisFirstLet | _bodyOisFirstLet `seq` (True) -> (case (__tup94) of { (_predSameScopeCounterLet,_) | _predSameScopeCounterLet `seq` (True) -> (case (body_2 _bodyOisFirstLet _bodyOkiGam _bodyOlexLev _bodyOpredSameScopeCounter) of { ( _bodyIpredSameScopeCounter,body_3) | True -> (case (pscpLeave' _mustEnterNewPredScope _predSameScopeCounterLet _bodyIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_Let_3 :: T_Expr_3 sem_Expr_Let_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 (pscpMk' _mustEnterNewPredScope _lhsIpredSameScopeCounter _lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _bodyOpredScope | _bodyOpredScope `seq` (True) -> (case (_predScope) of { _declsOpredScope | _declsOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _declsOpolVarMp | _declsOpolVarMp `seq` (True) -> (case (_declsIgathTyKiSigGam) of { _declsOtyKiSigGam | _declsOtyKiSigGam `seq` (True) -> (case (emptyVarMp) of { _declsOtyTyVarMp | _declsOtyTyVarMp `seq` (True) -> (case (gamPushGam _declsIgathKiSigGam _lhsItyGam) of { _declsOpatTyGam | _declsOpatTyGam `seq` (True) -> (case (decls_4 _declsOpatTyGam _declsOtyKiSigGam) of { ( _declsIpatTyGam,decls_5) | True -> (case (gamPop _declsIpatTyGam) of { __tup108 | __tup108 `seq` (True) -> (case (__tup108) of { (_tyGam_l_,_) | _tyGam_l_ `seq` (True) -> (case (gamPushGam _tyGam_l_ _lhsItyGam) of { _declsOtyGam | _declsOtyGam `seq` (True) -> (case (gamPushGam _declsIgathTyKiSigGam _lhsItyKiGam) of { _declsOpatTyKiGam | _declsOpatTyKiGam `seq` (True) -> (case (decls_5 _declsOpatTyKiGam _declsOtyGam _declsOtyTyVarMp) of { ( _declsIpatTyKiGam,_declsItyTyVarMp,decls_6) | True -> (case (_lhsIopts) of { _declsOopts | _declsOopts `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _declsOgenerDataInfoMp | _declsOgenerDataInfoMp `seq` (True) -> (case (gamPop _declsIpatTyKiGam) of { __tup109 | __tup109 `seq` (True) -> (case (__tup109) of { (_tyKiGam_l_,_) | _tyKiGam_l_ `seq` (True) -> (case (gamPushGam _tyKiGam_l_ _lhsItyKiGam) of { _declsOtyKiGam | _declsOtyKiGam `seq` (True) -> (case (_lhsIkiVarMp) of { _declsOpatKiVarMp | _declsOpatKiVarMp `seq` (True) -> (case (gamPushNew _lhsIpolGam) of { _declsOpatPolGam | _declsOpatPolGam `seq` (True) -> (case (decls_6 _declsOpatKiVarMp _declsOpatPolGam _declsOtyKiGam) of { ( _declsIpatKiVarMp,_declsIpatPolGam,decls_7) | True -> (case (_declsIpatKiVarMp) of { _declsOkiVarMp | _declsOkiVarMp `seq` (True) -> (case (varFreeSet _tyKiGam_l_ `Set.union` _lhsItyKiGlobFreeTvarS) of { _declsOtyKiGlobFreeTvarS | _declsOtyKiGlobFreeTvarS `seq` (True) -> (case (_declsIpatPolGam) of { _declsOpolGam | _declsOpolGam `seq` (True) -> (case (Nothing) of { _declsOmbKnPolCtx | _declsOmbKnPolCtx `seq` (True) -> (case (decls_7 _declsOgenerDataInfoMp _declsOkiVarMp _declsOmbKnPolCtx _declsOopts _declsOpolGam _declsOpolVarMp _declsOpredScope _declsOtyKiGlobFreeTvarS) of { ( _declsIgenerDataInfoL,_declsIgenerDataInfoMp,_declsIkiVarMp,_declsIpolVarMp,decls_8) | True -> (case (_declsIpolVarMp) of { _bodyOpolVarMp | _bodyOpolVarMp `seq` (True) -> (case (_lhsIopts) of { _bodyOopts | _bodyOopts `seq` (True) -> (case (_declsIgenerDataInfoMp) of { _bodyOgenerDataInfoMp | _bodyOgenerDataInfoMp `seq` (True) -> (case (__tup114) of { (_,_,_,_lUniq3,_,_,_,_,_,_,_,_) | _lUniq3 `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (gamPop _declsIpatPolGam) of { __tup83 | __tup83 `seq` (True) -> (case (__tup83) of { (_polGam_l,_) | _polGam_l `seq` (True) -> (case (_declsIpolVarMp `varUpdCyc` _polGam_l) of { __tup84 | __tup84 `seq` (True) -> (case (__tup84) of { (_,_polVarMpCyc) | _polVarMpCyc `seq` (True) -> (case (partition (\(v,p) -> let v' = mkPolVar v p' = varmpDel [v] _declsIpolVarMp `varUpd` p in mkPolNegate v' == p' ) (varmpToAssocTyL _polVarMpCyc)) of { __tup85 | __tup85 `seq` (True) -> (case (__tup85) of { (_polOkCyc,_) | _polOkCyc `seq` (True) -> (case (assocTyLToVarMp [(v, polInvariant) | (v,_) <- _polOkCyc ]) of { _polInvVarMp | _polInvVarMp `seq` (True) -> (case (__tup84) of { (_lSubsPolGam1,_) | _lSubsPolGam1 `seq` (True) -> (case (_polInvVarMp `varUpd` _lSubsPolGam1) of { _lSubsPolGam2 | _lSubsPolGam2 `seq` (True) -> (case (quantifyPolGam $ mapPolGam (tyCanonic (emptyTyBetaRedEnv' _fe)) $ _lSubsPolGam2) of { _finGathPolGam | _finGathPolGam `seq` (True) -> (case (gamUnions [ (gamSingleton (hsnNm2GenerReprSyn arity origtnm) (PolGamInfo $ mkGenerRepresentableTypeSynonymPol _finGathPolGam origtnm) ) | ((origtnm,tvs,_),_,_,remArity) <- _declsIgenerDataInfoL , arity <- [0..remArity] ]) of { _generPolGam | _generPolGam `seq` (True) -> (case (_generPolGam) of { _extraPolGam | _extraPolGam `seq` (True) -> (case (setSubst _declsIkiVarMp _lhsItyKiGlobFreeTvarS) of { _tyKiUpdFreeTvarS | _tyKiUpdFreeTvarS `seq` (True) -> (case (_tyKiUpdFreeTvarS) of { _gKiTvS | _gKiTvS `seq` (True) -> (case (tyKiGamQuantifyWithVarMp _lhsIopts _declsIkiVarMp _gKiTvS _tyKiGam_l_) of { __tup111 | __tup111 `seq` (True) -> (case (__tup111) of { (_,_quTyKiVarMp,_) | _quTyKiVarMp `seq` (True) -> (case (_quTyKiVarMp `varUpd` _declsIkiVarMp) of { _bodyTyKiVarMp1 | _bodyTyKiVarMp1 `seq` (True) -> (case (__tup111) of { (_lQuTyKiGam_qu,_,_) | _lQuTyKiGam_qu `seq` (True) -> (case (tyKiGamInst1ExistsWithVarMp _bodyTyKiVarMp1 _lUniq3 _lQuTyKiGam_qu) of { __tup112 | __tup112 `seq` (True) -> (case (__tup112) of { (_lQuTyKiGam_ex,_) | _lQuTyKiGam_ex `seq` (True) -> (case (unzip [ ( origtnm , hsnNm2GenerDatatype origtnm : [ hsnNm2GenerConstructor $ ctagNm x | (x,_) <- cs ] ) | ((origtnm,_,ki),cs,_,_) <- _declsIgenerDataInfoL ]) of { __tup81 | __tup81 `seq` (True) -> (case (__tup81) of { (_,_generDataTyAndConNmLL) | _generDataTyAndConNmLL `seq` (True) -> (case (concat _generDataTyAndConNmLL) of { _generDataTyAndConNmL | _generDataTyAndConNmL `seq` (True) -> (case (gamUnions [ (tyKiGamNameSingleton n (TyKiGamInfo kiStar)) | n <- _generDataTyAndConNmL ] `gamUnion` gamUnions [ (tyKiGamNameSingleton (hsnNm2GenerReprSyn arity origtnm) (TyKiGamInfo ki)) | ((origtnm,_,_),_,_,remArity) <- _declsIgenerDataInfoL , let ki = mkGenerRepresentableTypeSynonymKi _lQuTyKiGam_ex origtnm , arity <- [0..remArity] ]) of { _generTyKiGam | _generTyKiGam `seq` (True) -> (case (_generTyKiGam) of { _extraTyKiGam | _extraTyKiGam `seq` (True) -> (case (__tup81) of { (_generDataAllTyOrigNmL,_) | _generDataAllTyOrigNmL `seq` (True) -> (case ([ ( origtnm, tvs, sc , [ (hsnNm2GenerReprSyn arity origtnm, syn, proj, arity) | arity <- [0..remArity] , let (syn,proj) = mkGenerRepresentableTypeSynTyProj _lhsIopts arity _generDataAllTyOrigNmL (\tnm remArity -> tnm `elem` _generDataAllTyOrigNmL || isJust (tyGamLookup (hsnNm2GenerReprSyn remArity tnm) _lhsItyGam)) tnm tvs [ (c,hsnNm2GenerConstructor $ ctagNm c,assocLMapKey (fmap hsnNm2GenerSelector) ps) | (c,ps) <- cs ] ] ) | ((origtnm,tvs,ki),cs,sc,remArity) <- _declsIgenerDataInfoL , let tnm = hsnNm2GenerDatatype origtnm ]) of { _generTySynProjL | _generTySynProjL `seq` (True) -> (case (gamFromAssocL [ (n, mkTGIData (appCon n) (appDbg $ "Generics.Expr.Let.TyGam.DataTyAndCon: " ++ show n)) | n <- _generDataTyAndConNmL ] `gamUnion` gamFromAssocL [ ( tnm, mkTGIData syn (appDbg $ "Generics.Expr.Let.TyGam.TySyn: " ++ show tnm)) | (_,_,_,ts) <- _generTySynProjL , (tnm,syn,_,_) <- ts ]) of { _generTyGam | _generTyGam `seq` (True) -> (case (_generTyGam) of { _extraTyGam | _extraTyGam `seq` (True) -> (case (gamUnion _extraTyGam _tyGam_l_) of { _tyGam_l_extra | _tyGam_l_extra `seq` (True) -> (case (_declsItyTyVarMp `varUpd` _tyGam_l_extra) of { _lQuTyGam | _lQuTyGam `seq` (True) -> (case (__tup112) of { (_,_exTyKiVarMp2) | _exTyKiVarMp2 `seq` (True) -> (case (_exTyKiVarMp2 `varUpd` _bodyTyKiVarMp1) of { _bodyTyKiVarMp2 | _bodyTyKiVarMp2 `seq` (True) -> (case (_bodyTyKiVarMp2) of { _bodyOkiVarMp | _bodyOkiVarMp `seq` (True) -> (case (gamUnion _extraTyKiGam _lQuTyKiGam_ex) of { _lQuTyKiGam_ex_extra | _lQuTyKiGam_ex_extra `seq` (True) -> (case (_bodyTyKiVarMp2 `varUpd` _lQuTyKiGam_ex_extra) of { _lQuTyKiGam_ex_subst | _lQuTyKiGam_ex_subst `seq` (True) -> (case (_lQuTyKiGam_ex_extra) of { _lQuTyKiGam | _lQuTyKiGam `seq` (True) -> (case (__tup109) of { (_,_tyKiGam_g_) | _tyKiGam_g_ `seq` (True) -> (case (_tyKiGam_g_) of { _gSubsTyKiGam | _gSubsTyKiGam `seq` (True) -> (case (gamAddGam _lQuTyKiGam _gSubsTyKiGam) of { _bodyOtyKiGam | _bodyOtyKiGam `seq` (True) -> (case (__tup108) of { (_,_tyGam_g_) | _tyGam_g_ `seq` (True) -> (case (gamAddGam _lQuTyGam _tyGam_g_) of { _bodyOtyGam | _bodyOtyGam `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.body.tyKiGlobFreeTvarS" $ varFreeSet _lQuTyKiGam_ex_subst `Set.union` setSubst _bodyTyKiVarMp2 _tyKiUpdFreeTvarS) of { _bodyOtyKiGlobFreeTvarS | _bodyOtyKiGlobFreeTvarS `seq` (True) -> (case (_extraPolGam `gamUnion` _finGathPolGam) of { _finGathPolGam_extra | _finGathPolGam_extra `seq` (True) -> (case (gamAddGam _finGathPolGam_extra _lhsIpolGam) of { _bodyOpolGam | _bodyOpolGam `seq` (True) -> (case (body_3 _bodyOgenerDataInfoMp _bodyOkiVarMp _bodyOopts _bodyOpolGam _bodyOpolVarMp _bodyOpredScope _bodyOtyGam _bodyOtyKiGam _bodyOtyKiGlobFreeTvarS) of { ( _bodyIgenerDataInfoMp,_bodyIkiVarMp,_bodyIpolVarMp,body_4) | True -> (case (_bodyIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_bodyIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_bodyIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case ((let sem_Expr_Let_4 :: T_Expr_4 sem_Expr_Let_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIfinKiVarMp `varUpd` _tyKiGam_l_ `gamUnion` _lhsIfinTyKiGam) of { _finTyKiGam | _finTyKiGam `seq` (True) -> (case (_finTyKiGam) of { _bodyOfinTyKiGam | _bodyOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _bodyOfinKiVarMp | _bodyOfinKiVarMp `seq` (True) -> (case (_lhsIgathDataGam) of { _declsOgathDataGam | _declsOgathDataGam `seq` (True) -> (case (_finTyKiGam) of { _declsOfinTyKiGam | _declsOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _declsOfinKiVarMp | _declsOfinKiVarMp `seq` (True) -> (case (gamFromAssocL [ (n, mkDGIPlain n (appCon n) kiStar [] Map.empty ) | n <- _generDataTyAndConNmL ]) of { _generDataGam | _generDataGam `seq` (True) -> (case (_generDataGam) of { _extraDataGam | _extraDataGam `seq` (True) -> (case (gamPushNew _lhsIclGam) of { _declsOpatClGam1 | _declsOpatClGam1 `seq` (True) -> (case (decls_8 _declsOpatClGam1) of { ( _declsIpatClGam1,decls_9) | True -> (case (_declsIpatClGam1) of { _declsOpatClGam2 | _declsOpatClGam2 `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _declsOtyTyTySigFreeTvarS | _declsOtyTyTySigFreeTvarS `seq` (True) -> (case (decls_9 _declsOfinKiVarMp _declsOfinTyKiGam _declsOpatClGam2 _declsOtyTyTySigFreeTvarS) of { ( _declsIpatClGam2,decls_10) | True -> (case (gamPop _declsIpatClGam2) of { __tup113 | __tup113 `seq` (True) -> (case (__tup113) of { (_lClGam,_) | _lClGam `seq` (True) -> (case (gamNoDups _lClGam) of { _lClGamNoDups | _lClGamNoDups `seq` (True) -> (case (gamAddGam _lClGamNoDups _lhsIclGam) of { _forBodyClGam | _forBodyClGam `seq` (True) -> (case (_forBodyClGam) of { _bodyOclGam | _bodyOclGam `seq` (True) -> (case (gamPushGam _lClGamNoDups _lhsIclGam) of { _forDeclsClGam | _forDeclsClGam `seq` (True) -> (case (_forDeclsClGam) of { _declsOclGam | _declsOclGam `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.body.tyTyTySigFreeTvarS" $ varFreeSet _lQuTyGam `Set.union` _lhsItyTyTySigFreeTvarS) of { _bodyOtyTyTySigFreeTvarS | _bodyOtyTyTySigFreeTvarS `seq` (True) -> (case (decls_10 _declsOclGam _declsOgathDataGam) of { ( _declsIgathDataGam,_declsIgathDeclDataGam,_declsIgathTySigGam,_declsIgathTySigVarMp,decls_11) | True -> (case (_extraDataGam `gamUnion` _declsIgathDeclDataGam) of { _gathNewDataGam | _gathNewDataGam `seq` (True) -> (case (_gathNewDataGam `gamUnion` _declsIgathDataGam) of { _gathBodyDataGam | _gathBodyDataGam `seq` (True) -> (case (_gathBodyDataGam) of { _bodyOgathDataGam | _bodyOgathDataGam `seq` (True) -> (case (body_4 _bodyOclGam _bodyOfinKiVarMp _bodyOfinTyKiGam _bodyOgathDataGam _bodyOtyTyTySigFreeTvarS) of { ( _bodyIgathDataGam,body_5) | True -> (case (_bodyIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Let_5 :: T_Expr_5 sem_Expr_Let_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (_lhsIdataGam) of { _bodyOdataGam | _bodyOdataGam `seq` (True) -> (case (body_5 _bodyOdataGam) of { ( _bodyIchrClassDeclSq,_bodyIchrFIIn,_bodyIchrInstDeclSq,_bodyIgathClDfGam,body_6) | True -> (case (_lhsIdataGam) of { _declsOdataGam | _declsOdataGam `seq` (True) -> (case (decls_11 _declsOdataGam) of { ( _declsIchrClassDeclSq,_declsIchrInstDeclSq,_declsIgathClDfGam,decls_12) | True -> (case (ehcOptTrace _lhsIopts "Expr.Let.loc.chrClassDeclSq" $ _declsIchrClassDeclSq `Seq.union` _bodyIchrClassDeclSq) of { _chrClassDeclSq | _chrClassDeclSq `seq` (True) -> (case (_chrClassDeclSq) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (_bodyIchrFIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (__tup114) of { (_,_,_,_,_,_,_,_lUniq_92_prTyMeta,_,_,_,_) | _lUniq_92_prTyMeta `seq` (True) -> (case (let mkn' cl kind (orignm,nm) = (orignm,nm,cl,hsnUniqifyStr HsNameUniqifier_GenericClass (hsnBaseString cl) nm,kind) mkn f = mkn' (ehcOptBuiltin _lhsIopts f ) mkn2 f i = mkn' (ehcOptBuiltin2 _lhsIopts f i) mkd sc (orignm,nm,cl,i,k) = ( ( [], pr, RedHow_ByInstance i pr sc, sc ) , (orignm,i,cl,k,pr) ) where pr = Pred_Class $ appConApp cl [appCon nm] mkDataInst (t@(origtnm,_,_),cs,sc,_) = map (mkd sc) $ [mkn ehbnGenerClassDatatype GenerInstKind_Datatype (origtnm, hsnNm2GenerDatatype origtnm)] ++ (map (mkn ehbnGenerClassConstructor $ GenerInstKind_Constructor origtnm) [ (origdnm, hsnNm2GenerConstructor origdnm) | (tg,_) <- cs, let origdnm = ctagNm tg ] ) ++ (map (mkn ehbnGenerClassSelector $ GenerInstKind_Selector) $ Map.toList $ Map.fromList [ (origsnm, hsnNm2GenerSelector origsnm) | (_,fs) <- cs, (Just origsnm,_) <- fs ] ) mkr sc arity (tyNm,tyRepNm,repCl,i,k@(GenerInstKind_Representable remArity _)) = ( ( [], pr, RedHow_ByInstance i pr sc, sc ) , (tyNm,i,repCl,k,pr) ) where pr = Pred_Class $ appConApp repCl [appConApp tyNm tvL, appConApp tyRepNm tvL] tvL = map mkTyMetaVar $ mkNewUIDL (arity - remArity) _lUniq_92_prTyMeta mkReprInst (origtnm,tvL,sc,syns) = map (mkr sc (length tvL)) [ mkn2 ehbnGenerClassRepresentableN arity (GenerInstKind_Representable arity proj) (origtnm,tnm) | (tnm,_,proj,arity) <- syns ] in unzip $ (concatMap mkReprInst _generTySynProjL) ++ (concatMap mkDataInst _declsIgenerDataInfoL)) of { __tup82 | __tup82 `seq` (True) -> (case (__tup82) of { (_generInstDeclL,_) | _generInstDeclL `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.chrInstDeclSq" $ Seq.unions [Seq.fromList _generInstDeclL, _declsIchrInstDeclSq, _bodyIchrInstDeclSq]) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.gathClDfGam" $ _bodyIgathClDfGam `gamUnion` _declsIgathClDfGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Let_6 :: T_Expr_6 sem_Expr_Let_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (__tup114) of { (_,_,_,_,_,_,_,_,_,_,_lUniq_freshKnTy,_) | _lUniq_freshKnTy `seq` (True) -> (case (mkFreshAppImTy _lUniq_freshKnTy id) of { __tup100 | __tup100 `seq` (True) -> (case (__tup100) of { (_,_knTopTy,_) | _knTopTy `seq` (True) -> (case (_knTopTy) of { _knTy | _knTy `seq` (True) -> (case (_knTy) of { _bodyOknTy | _bodyOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _bodyOfiOpts | _bodyOfiOpts `seq` (True) -> (case (_lhsItvKiVarMp) of { _declsOtvKiVarMp | _declsOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _declsOclDfGam | _declsOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _declsOchrStore | _declsOchrStore `seq` (True) -> (case (__tup114) of { (_,_,_,_,_,_,_,_,_,_lUniq_fit,_,_) | _lUniq_fit `seq` (True) -> (case (__tup114) of { (_,_,_,_,_,_lUniq5,_,_,_,_,_,_) | _lUniq5 `seq` (True) -> (case (__tup114) of { (_,_,_lUniq2,_,_,_,_,_,_,_,_,_) | _lUniq2 `seq` (True) -> (case (__tup114) of { (_,_lUniq,_,_,_,_,_,_,_,_,_,_) | _lUniq `seq` (True) -> (case (_declsIgathTySigVarMp) of { _declsOtySigVarMp | _declsOtySigVarMp `seq` (True) -> (case (_declsIgathTySigGam) of { _declsOtySigGam | _declsOtySigGam `seq` (True) -> (case (valGamInst1ExistsWithVarMp _declsIgathTySigVarMp _lUniq _declsIgathTySigGam) of { __tup103 | __tup103 `seq` (True) -> (case (__tup103) of { (_,_exTyVarMp1) | _exTyVarMp1 `seq` (True) -> (case (__tup103) of { (_gathTySigGam_l_,_) | _gathTySigGam_l_ `seq` (True) -> (case (id) of { _tyVarMpDeclsUpd | _tyVarMpDeclsUpd `seq` (True) -> (case (__tup100) of { (_,_,_resTy) | _resTy `seq` (True) -> (case (\o m -> fitsIn o _fe _lUniq_fit m _resTy _lhsIknTy) of { _doFit | _doFit `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.loc.foKnRes" $ _doFit _lhsIfiOpts _lhsItyVarMp) of { _foKnRes | _foKnRes `seq` (True) -> (case ((foVarMp _foKnRes `varUpd`) . ((_exTyVarMp1 :: VarMp) `varUpd`) . (_declsIgathTySigVarMp `varUpd`)) of { _patTyVarMpDeclsUpd | _patTyVarMpDeclsUpd `seq` (True) -> (case (_patTyVarMpDeclsUpd _lhsItyVarMp) of { _declsOpatTyVarMp | _declsOpatTyVarMp `seq` (True) -> (case (gamPushGam _gathTySigGam_l_ _lhsIvalGam) of { _declsOpatValGam | _declsOpatValGam `seq` (True) -> (case (decls_12 _declsOpatTyVarMp _declsOpatValGam _declsOtvKiVarMp _declsOtySigGam _declsOtySigVarMp) of { ( _declsIpatTyVarMp,_declsIpatValGam,decls_13) | True -> (case (_tyVarMpDeclsUpd _declsIpatTyVarMp) of { _declsOtyVarMp | _declsOtyVarMp `seq` (True) -> (case (_declsIpatValGam) of { _declsOvalGam | _declsOvalGam `seq` (True) -> (case (gamPop _declsIpatValGam) of { __tup101 | __tup101 `seq` (True) -> (case (__tup101) of { (_valGam_l_,_) | _valGam_l_ `seq` (True) -> (case (varFreeSet _tyGam_l_ `Set.union` _lhsItyTyGlobFreeTvarS) of { _declsOtyTyGlobFreeTvarS | _declsOtyTyGlobFreeTvarS `seq` (True) -> (case (varFreeSet _valGam_l_ `Set.union` _lhsIvalTyGlobFreeTvarS) of { _declsOvalTyGlobFreeTvarS | _declsOvalTyGlobFreeTvarS `seq` (True) -> (case (decls_13 _declsOchrStore _declsOclDfGam _declsOtyTyGlobFreeTvarS _declsOtyVarMp _declsOvalGam _declsOvalTyGlobFreeTvarS) of { ( _declsIgathCnstrMp,_declsIgathRangeMp,_declsIintlTyKiGam,_declsInoLetQuantTyVarIdS,_declsIscopeGam,_declsItyVarMp,decls_14) | True -> (case (varmpSelectMetaLev [0] _declsItyVarMp) of { _tyVarMpDeclsL0 | _tyVarMpDeclsL0 `seq` (True) -> (case (varmpMapTyVarKey _tyVarMpDeclsL0 (varmpDecMetaLev _declsItyVarMp)) of { _gathTvKiVarMp1 | _gathTvKiVarMp1 `seq` (True) -> (case (_gathTvKiVarMp1 `varUpd` _lhsItvKiVarMp) of { _quTvKiVarMp | _quTvKiVarMp `seq` (True) -> (case (varmpIncMetaLev _quTvKiVarMp `varUpd` _tyVarMpDeclsL0) of { _tyVarMpDeclsL01 | _tyVarMpDeclsL01 `seq` (True) -> (case (gamUnions [_finTyKiGam,_declsIintlTyKiGam]) of { _valQuTyKiGam | _valQuTyKiGam `seq` (True) -> (case (setSubst _tyVarMpDeclsL0 _lhsItyTyGlobFreeTvarS) of { _tyTyUpdFreeTvarS | _tyTyUpdFreeTvarS `seq` (True) -> (case (setSubst _tyVarMpDeclsL0 _lhsIvalTyGlobFreeTvarS) of { _valTyUpdFreeTvarS | _valTyUpdFreeTvarS `seq` (True) -> (case (_valTyUpdFreeTvarS `Set.union` _tyTyUpdFreeTvarS) of { _gTyTvS | _gTyTvS `seq` (True) -> (case (setSubst _tyVarMpDeclsL0 _declsInoLetQuantTyVarIdS `Set.union` _gTyTvS) of { _noLetQuantTyVarIdS | _noLetQuantTyVarIdS `seq` (True) -> (case (mkDoValGamQuantify _valQuTyKiGam _quTvKiVarMp _noLetQuantTyVarIdS _valGam_l_) of { _doValGamQuantify | _doValGamQuantify `seq` (True) -> (case (mkDoPredAmbigSplitForSimplify _doValGamQuantify _tyVarMpDeclsL01) of { _doPredAmbigSplitForSimplify | _doPredAmbigSplitForSimplify `seq` (True) -> (case (_tyVarMpDeclsL0 `varUpd` _declsIgathCnstrMp) of { _toProveCnstrMp | _toProveCnstrMp `seq` (True) -> (case (let (here,there) = Map.partitionWithKey (\k _ -> isLetProveCandidate _noLetQuantTyVarIdS $ cnstrPred k) _toProveCnstrMp in (here, predOccCnstrMpLiftScope _predScope there)) of { __tup86 | __tup86 `seq` (True) -> (case (__tup86) of { (_toProveHereCnstrMp,_) | _toProveHereCnstrMp `seq` (True) -> (case (_chrFIIn {fiVarMp = _tyVarMpDeclsL0}) of { _chrProveFIIn | _chrProveFIIn `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.simplify1" $ simplify [SimplifyHow_Canonicalize] (_chrProveFIIn {fiUniq = _lUniq5}) _lhsIchrStore _lhsIclDfGam (heurScopedEHC _chrProveFIIn) _doPredAmbigSplitForSimplify Map.empty _toProveHereCnstrMp emptySimplifyResult) of { __tup87 | __tup87 `seq` (True) -> (case (__tup87) of { (_,_,_,_chrSolve1SimpTyVarMp,_,_,_,_,_,_,_) | _chrSolve1SimpTyVarMp `seq` (True) -> (case (_chrSolve1SimpTyVarMp `varUpd` _tyVarMpDeclsL01) of { _tyVarMpDeclsQuant | _tyVarMpDeclsQuant `seq` (True) -> (case (__tup87) of { (_,_chrSolve1RemCnstrMp,_,_,_,_,_,_,_,_,_) | _chrSolve1RemCnstrMp `seq` (True) -> (case (Map.partitionWithKey (\k _ -> isLetProveFailure _noLetQuantTyVarIdS $ cnstrPred k) _chrSolve1RemCnstrMp) of { __tup89 | __tup89 `seq` (True) -> (case (__tup89) of { (_toAssumeNeverCnstrMp,_) | _toAssumeNeverCnstrMp `seq` (True) -> (case (__tup87) of { (_,_,_cannotRes1CnstrMp,_,_,_,_,_,_,_,_) | _cannotRes1CnstrMp `seq` (True) -> (case (cnstrMpUnions [_toAssumeNeverCnstrMp,_cannotRes1CnstrMp]) of { _cannotProveCnstrMp | _cannotProveCnstrMp `seq` (True) -> (case ([ rngLift _range mkPredOccRng (cpoPr o) (mkPrIdCHR $ vunmId i) sc | (Assume o,[(RedHow_Assumption i sc, _)]) <- Map.toList $ _chrSolve1RemCnstrMp `Map.difference` _cannotProveCnstrMp ]) of { _toQuantOverPrOccL | _toQuantOverPrOccL `seq` (True) -> (case (_doValGamQuantify True _tyVarMpDeclsQuant _toQuantOverPrOccL) of { __tup106 | __tup106 `seq` (True) -> (case (__tup106) of { (_,_,__tup107) | __tup107 `seq` (True) -> (case (__tup107) of { (_,_tqoGam) | _tqoGam `seq` (True) -> (case (foldr (\tmpo c -> tmpoImplsVarMp tmpo `varUpd` c) (emptyVarMp :: VarMp) (gamElts _tqoGam)) of { _tmpoTyVarMp | _tmpoTyVarMp `seq` (True) -> (case (__tup106) of { (_,_quTyVarMp,_) | _quTyVarMp `seq` (True) -> (case (__tup106) of { (_quValGam_qu_,_,_) | _quValGam_qu_ `seq` (True) -> (case ((valGamInst1Exists _lUniq2 (_quTyVarMp `varUpd` _quValGam_qu_), emptyVarMp)) of { __tup105 | __tup105 `seq` (True) -> (case (__tup105) of { (_,_exTyVarMp2) | _exTyVarMp2 `seq` (True) -> (case (_quTyVarMp `varUpd` _tyVarMpDeclsL0) of { _bodyVarMp1 | _bodyVarMp1 `seq` (True) -> (case (_tmpoTyVarMp `varUpd` _chrSolve1SimpTyVarMp `varUpd` (_exTyVarMp2 :: VarMp) `varUpd` _bodyVarMp1) of { _bodyVarMp2 | _bodyVarMp2 `seq` (True) -> (case (_bodyVarMp2) of { _bodyOtyVarMp | _bodyOtyVarMp `seq` (True) -> (case (__tup105) of { (_quValGam_ex_,_) | _quValGam_ex_ `seq` (True) -> (case (_quValGam_ex_) of { _quValGam_ | _quValGam_ `seq` (True) -> (case (__tup101) of { (_,_valGam_g_) | _valGam_g_ `seq` (True) -> (case (_valGam_g_) of { _gSubsValGam_ | _gSubsValGam_ `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.loc.bodyValGam" $ gamAddGam _quValGam_ _gSubsValGam_) of { _bodyValGam | _bodyValGam `seq` (True) -> (case (_bodyValGam) of { _bodyOvalGam | _bodyOvalGam `seq` (True) -> (case (__tup100) of { (_imTy,_,_) | _imTy `seq` (True) -> (case (foVarMp _foKnRes `varUpd` _imTy) of { _imSubsTy | _imSubsTy `seq` (True) -> (case (implsPredsTail _predScope $ tyImpls _imSubsTy) of { __tup95 | __tup95 `seq` (True) -> (case (__tup95) of { (_knPrL,_) | _knPrL `seq` (True) -> (case (__tup86) of { (_,_toProveElsewhereCnstrMp) | _toProveElsewhereCnstrMp `seq` (True) -> (case (_lhsIclDfGam) of { _bodyOclDfGam | _bodyOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _bodyOchrStore | _bodyOchrStore `seq` (True) -> (case (_bodyVarMp2 `varUpd` _quValGam_ex_) of { _quValGam_ex_subst | _quValGam_ex_subst `seq` (True) -> (case (varmpFilterTy (\v _ -> v `Set.member` _noLetQuantTyVarIdS) _gathTvKiVarMp1) of { _gathTvKiVarMp2 | _gathTvKiVarMp2 `seq` (True) -> (case (_gathTvKiVarMp2 `varUpd` _lhsItvKiVarMp) of { _bodyOtvKiVarMp | _bodyOtvKiVarMp `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.loc.tyTyGlobFreeTvarSbody" $ varFreeSet _lQuTyGam `Set.union` _tyTyUpdFreeTvarS) of { _tyTyGlobFreeTvarSbody | _tyTyGlobFreeTvarSbody `seq` (True) -> (case (_tyTyGlobFreeTvarSbody) of { _bodyOtyTyGlobFreeTvarS | _bodyOtyTyGlobFreeTvarS `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.body.valTyGlobFreeTvarS" $ varFreeSet _quValGam_ex_subst `Set.union` _valTyUpdFreeTvarS) of { _bodyOvalTyGlobFreeTvarS | _bodyOvalTyGlobFreeTvarS `seq` (True) -> (case (gathPredLToAssumeCnstrMp _knPrL) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (body_6 _bodyOchrStore _bodyOclDfGam _bodyOfiOpts _bodyOknTy _bodyOtvKiVarMp _bodyOtyTyGlobFreeTvarS _bodyOtyVarMp _bodyOvalGam _bodyOvalTyGlobFreeTvarS) of { ( _bodyIgathCnstrMp,_bodyIgathRangeMp,_bodyIgathValGam,_bodyInoLetQuantTyVarIdS,_bodyIty,_bodyItyVarMp,body_7) | True -> (case (ehcOptTrace _lhsIopts "Expr.Let.loc.gathCnstrMp" $ cnstrMpUnions [_hereCnstrMp,_toProveElsewhereCnstrMp,_bodyIgathCnstrMp]) of { _gathCnstrMp | _gathCnstrMp `seq` (True) -> (case (_gathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_declsIgathRangeMp `Map.union` cnstrMpToRangeMp _declsIgathCnstrMp `Map.union` _bodyIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (_quValGam_ex_subst) of { _finValGamDecls | _finValGamDecls `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.gathValGam" $ _bodyIgathValGam `gamUnion` _finValGamDecls) of { _gathValGam | _gathValGam `seq` (True) -> (case (_gathValGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_bodyInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_resTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_bodyItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Let_7 :: T_Expr_7 sem_Expr_Let_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (_lhsIsysfEnv { sysfenvTyKiGam = _finTyKiGam , sysfenvClGam = _forBodyClGam }) of { _sysfEnv | _sysfEnv `seq` (True) -> (case (_sysfEnv) of { _bodyOsysfEnv | _bodyOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _bodyOrangeMp | _bodyOrangeMp `seq` (True) -> (case ((if _lhsIisFirstLet then gamUnion _gathValGam else id) _lhsIfinValGam) of { _finValGam | _finValGam `seq` (True) -> (case (_finValGam) of { _bodyOfinValGam | _bodyOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _finTyVarMp | _finTyVarMp `seq` (True) -> (case (_finTyVarMp) of { _bodyOfinTyVarMp | _bodyOfinTyVarMp `seq` (True) -> (case (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _bodyOexprCtxt | _bodyOexprCtxt `seq` (True) -> (case (_sysfEnv) of { _declsOsysfEnv | _declsOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _declsOrangeMp | _declsOrangeMp `seq` (True) -> (case (_finValGam) of { _declsOfinValGam | _declsOfinValGam `seq` (True) -> (case (_finTyVarMp) of { _declsOfinTyVarMp | _declsOfinTyVarMp `seq` (True) -> (case (__tup114) of { (_,_,_,_,_,_,_,_,_,_,_,_lUniq_gener) | _lUniq_gener `seq` (True) -> (case (__tup114) of { (_,_,_,_,_,_,_lUniq6,_,_,_,_,_) | _lUniq6 `seq` (True) -> (case (__tup114) of { (_,_,_,_,_lUniq4,_,_,_,_,_,_,_) | _lUniq4 `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _bodyValGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _finTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (__tup111) of { (_,_,_cycTyKiVarMp_l) | _cycTyKiVarMp_l `seq` (True) -> (case (__tup107) of { (_cycTyVarMp_l,_) | _cycTyVarMp_l `seq` (True) -> (case (let (_,amb) = doPredAmbigSplit id _tqoGam _toQuantOverPrOccL mkg = assocLMapElt (ppTy . vgiTy) . gamToAssocL in if null amb then [] else [rngLift _range Err_AmbigPreds (map (mkRangedPred _lhsIrangeMp . poPr) amb) (mkg _quValGam_ex_subst) (mkg $ _tyVarMpDeclsL0 `varUpd` _valGam_l_) ]) of { _predAmbigErrs | _predAmbigErrs `seq` (True) -> (case (mkPrvErr _lhsIrangeMp _range _cannotProveCnstrMp) of { _predNotPrfErrs | _predNotPrfErrs `seq` (True) -> (case (rngLift _range varmpOccurErr _declsIkiVarMp $ _cycTyKiVarMp_l) of { _occCycTyKiErrs | _occCycTyKiErrs `seq` (True) -> (case (rngLift _range varmpOccurErr _tyVarMpDeclsL0 $ _cycTyVarMp_l) of { _occCycTyErrs | _occCycTyErrs `seq` (True) -> (case (if ehcOptHsChecksInEH _lhsIopts then let nms = assocLKeys $ gamToOnlyDups $ gamTop _declsIpatValGam in if null nms then [] else [rngLift _range Err_NamesDupIntrod "value" (zip nms (repeat Nothing))] else []) of { _dupErrs | _dupErrs `seq` (True) -> (case (__tup82) of { (_,_generInstInfoL) | _generInstInfoL `seq` (True) -> (case (mkDataGenerBinds _lhsIopts _sysfEnv (_rceEnv {rceValGam = _finValGam `gamUnion` rceValGam _rceEnv}) _forDeclsClGam _lhsIfinTyKiGam _lhsIdataGam _lUniq_gener _generInstInfoL) of { __tup99 | __tup99 `seq` (True) -> (case (__tup99) of { (_,_errsDataGenerBind) | _errsDataGenerBind `seq` (True) -> (case (let mk u nm tmpo = (cnstrMpFromList ass `cnstrMpUnion` cnstrMpUnions (map cnstrMpFromList prvs), concat coeArgIds) where assSc = maybe _predScope id $ gamLookup nm _declsIscopeGam (ass,prvs,coeArgIds) = unzip3 [ ( rngLift _range mkAssumeConstraint pr (poId po) assSc , zipWith (\u i -> rngLift _range mkProveConstraint pr u (ipoScope i)) ups ipos , zipWith (\u i -> (ipoId i,u)) ups ipos ) | ((po,ipos),u') <- zip impls $ mkNewLevUIDL (length impls) u , let ups = mkNewLevUIDL (length ipos) u' pr = poPr po ] impls = tmpoImplsPrvReq tmpo tmpos = gamToAssocL _tqoGam (quantCnstrMps, coeArgIds) = unzip $ zipWith (\(nm,tmpo) u -> mk u nm tmpo) tmpos $ mkNewLevUIDL (length tmpos) _lUniq6 in ( cnstrMpUnions quantCnstrMps , foldr (\(occ,arg) m -> Map.insertWith (++) occ [arg] m) Map.empty $ concat coeArgIds )) of { __tup92 | __tup92 `seq` (True) -> (case (__tup92) of { (_quantCnstrMp,_) | _quantCnstrMp `seq` (True) -> (case (not (Map.null _quantCnstrMp)) of { _secondProofIsNeeded | _secondProofIsNeeded `seq` (True) -> (case (__tup87) of { (_,_,_,_,_,_,_,_,_,_,_chrSolve1EvidCoreMp) | _chrSolve1EvidCoreMp `seq` (True) -> (case (__tup87) of { (_,_,_,_,_,_,_,_,_,_chrSolve1ScopeBindMp,_) | _chrSolve1ScopeBindMp `seq` (True) -> (case (__tup87) of { (_,_,_,_,_,_,_,_,_chrSolve1EvidBindMp,_,_) | _chrSolve1EvidBindMp `seq` (True) -> (case (__tup87) of { (_,_,_,_,_,_,_,_chrSolve1EvidCBindL,_,_,_) | _chrSolve1EvidCBindL `seq` (True) -> (case (__tup87) of { (_,_,_,_,_,_,_chrSolve1EvidMp,_,_,_,_) | _chrSolve1EvidMp `seq` (True) -> (case (__tup87) of { (_,_,_,_,_,_chrSimplifyResult1,_,_,_,_,_) | _chrSimplifyResult1 `seq` (True) -> (case (__tup87) of { (_toProveHereCnstrMpCanon,_,_,_,_,_,_,_,_,_,_) | _toProveHereCnstrMpCanon `seq` (True) -> (case (if _secondProofIsNeeded then ehcOptTrace _lhsIopts "Expr.Let.simplify2" $ simplify [] (_chrProveFIIn {fiUniq = _lUniq4}) _lhsIchrStore _lhsIclDfGam (heurScopedEHC _chrProveFIIn) ((,) []) _toProveHereCnstrMpCanon _quantCnstrMp $ simplifyResultResetForAdditionalWork _chrSimplifyResult1 else ( emptyCnstrMp, _chrSolve1RemCnstrMp, emptyCnstrMp, emptyVarMp, [], _chrSimplifyResult1, _chrSolve1EvidMp , _chrSolve1EvidCBindL, _chrSolve1EvidBindMp, _chrSolve1ScopeBindMp, _chrSolve1EvidCoreMp )) of { __tup90 | __tup90 `seq` (True) -> (case (__tup90) of { (_,_,_,_,_chrSolve2Errs,_,_,_,_,_,_) | _chrSolve2Errs `seq` (True) -> (case (__tup87) of { (_,_,_,_,_chrSolve1Errs,_,_,_,_,_,_) | _chrSolve1Errs `seq` (True) -> (case (__tup85) of { (_,_polErrCyc) | _polErrCyc `seq` (True) -> (case (assocTyLToVarMp _polErrCyc) of { _cycVarMp | _cycVarMp `seq` (True) -> (case (Seq.fromList $ rngLift _range varmpOccurErr _declsIpolVarMp _cycVarMp) of { _cycErrSq | _cycErrSq `seq` (True) -> (case (Seq.unions [ Seq.fromList _dupErrs, Seq.fromList _occCycTyErrs, Seq.fromList _occCycTyKiErrs , Seq.unions $ map Seq.fromList [_predNotPrfErrs, _predAmbigErrs, firstNotEmpty [_chrSolve1Errs, _chrSolve2Errs]] , _cycErrSq , Seq.fromList _errsDataGenerBind ]) of { _letErrL | _letErrL `seq` (True) -> (case (_lhsItr) of { _bodyOtr | _bodyOtr `seq` (True) -> (case (_lhsImoduleNm) of { _bodyOmoduleNm | _bodyOmoduleNm `seq` (True) -> (case (__tup90) of { (_,_,_,_,_,_,_,_,_,_chrSolve2ScopeBindMp,_) | _chrSolve2ScopeBindMp `seq` (True) -> (case (_chrSolve2ScopeBindMp) of { _chrSolveScopeBindMp | _chrSolveScopeBindMp `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.loc.chrLetScopeBindMp" $ _chrSolveScopeBindMp `predScopeToBindMapUnion` _lhsIchrScopeBindMp) of { _chrLetScopeBindMp | _chrLetScopeBindMp `seq` (True) -> (case (mkScopeBindings True _predScope _chrLetScopeBindMp) of { __tup93 | __tup93 `seq` (True) -> (case (__tup93) of { (_,_chrScopeBindMp) | _chrScopeBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _bodyOchrScopeBindMp | _bodyOchrScopeBindMp `seq` (True) -> (case (__tup90) of { (_,_,_,_,_,_,_,_,_chrSolve2EvidBindMp,_,_) | _chrSolve2EvidBindMp `seq` (True) -> (case (_chrSolve2EvidBindMp) of { _chrSolveEvidBindMp | _chrSolveEvidBindMp `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.loc.chrEvidBindMp" $ _chrSolveEvidBindMp `evidKeyToBindMapUnion` _lhsIchrEvidBindMp) of { _chrEvidBindMp | _chrEvidBindMp `seq` (True) -> (case (_chrEvidBindMp) of { _bodyOchrEvidBindMp | _bodyOchrEvidBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _declsOchrScopeBindMp | _declsOchrScopeBindMp `seq` (True) -> (case (_chrEvidBindMp) of { _declsOchrEvidBindMp | _declsOchrEvidBindMp `seq` (True) -> (case (__tup92) of { (_,_coeArgIdMp) | _coeArgIdMp `seq` (True) -> (case (let mk a = (acoreNmHole a) in acoreCSubstFromUidImplsL [ (occ, ([acoreCoeAppN $ map mk args], [])) | (occ,args) <- Map.toList _coeArgIdMp ]) of { _prvArgCSubst | _prvArgCSubst `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.decls.cSubst" $ cSubstApp _lhsIcSubst $ cSubstApp _prvArgCSubst $ cSubstApp (acoreCSubstFromVarMpImpls _tmpoTyVarMp) $ evidKeyBindMpToCSubst _chrSolveEvidBindMp) of { _declsOcSubst | _declsOcSubst `seq` (True) -> (case (_lhsItr) of { _declsOtr | _declsOtr `seq` (True) -> (case (_lhsImoduleNm) of { _declsOmoduleNm | _declsOmoduleNm `seq` (True) -> (case (isStrict_) of { _declsOisStrict | _declsOisStrict `seq` (True) -> (case (_declsIgathKiSigGam) of { _declsOkiSigGam | _declsOkiSigGam `seq` (True) -> (case (decls_14 _declsOcSubst _declsOchrEvidBindMp _declsOchrScopeBindMp _declsOfinTyVarMp _declsOfinValGam _declsOisStrict _declsOkiSigGam _declsOmoduleNm _declsOrangeMp _declsOsysfEnv _declsOtr) of { ( _declsIallErrSq,_declsIbangEvalL,_declsIcSubst,_declsIerrSq,_declsIffeCBindL,_declsIffiCBindL,_declsIgathHiddenExports,_declsIgathLamMp,_declsIgathMentrelFilterMp,_declsIgathTvKiVarMp,_declsIorphanS,_declsIpp,_declsIppAST,_declsItrpp,_declsItyCBindL,_declsIvalCBindL) | True -> (case (_declsIcSubst) of { _bodyOcSubst | _bodyOcSubst `seq` (True) -> (case (body_7 _bodyOcSubst _bodyOchrEvidBindMp _bodyOchrScopeBindMp _bodyOexprCtxt _bodyOfinTyVarMp _bodyOfinValGam _bodyOmoduleNm _bodyOrangeMp _bodyOsysfEnv _bodyOtr) of { ( _bodyIallErrSq,_bodyIappArgCoeL,_bodyIappArgPPL,_bodyIappFunCExpr,_bodyIappFunNm,_bodyIappFunPP,_bodyIbackCBindL,_bodyIcSubst,_bodyIcaseFailS,_bodyIcexpr,_bodyIerrSq,_bodyIfrontCBindL,_bodyIfuCExprL,_bodyIgathClGam,_bodyIgathHiddenExports,_bodyIgathKiGam,_bodyIgathLamMp,_bodyIgathMentrelFilterMp,_bodyIgathPolGam,_bodyIgathTvKiVarMp,_bodyIgathTyGam,_bodyIgathTyKiGam,_bodyIisNewtype,_bodyIlamArgPPL,_bodyIlamBodyPP,_bodyIletCBody,_bodyIletTyCBindL,_bodyIletValCBindL,_bodyIletValMainCBindL,_bodyIorphanS,_bodyIpp,_bodyIppAST,_bodyItrpp) | True -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.allErrSq" $ Seq.unions [_letErrL, _bodyIerrSq, _declsIallErrSq, _bodyIallErrSq]) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup114) of { (_,_,_,_,_,_,_,_,_lUniq_cexpr,_,_,_) | _lUniq_cexpr `seq` (True) -> (case (__tup95) of { (_,_knImplsTl) | _knImplsTl `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _knImplsTl) of { _impls2KnTl | _impls2KnTl `seq` (True) -> (case (tyImpls _imSubsTy) of { _impls2KnHd | _impls2KnHd `seq` (True) -> (case ([_impls2KnHd, _impls2KnTl]) of { _impls2KnHdTl | _impls2KnHdTl `seq` (True) -> (case (concatMap implsPrIdPredL _impls2KnHdTl) of { _poiPrL | _poiPrL `seq` (True) -> (case (map (mkTyPr . snd) _poiPrL) of { _finKnImplsL | _finKnImplsL `seq` (True) -> (case (map (tyCanonicFFI (emptyTyBetaRedEnv' _fe)) _finKnImplsL) of { _finKnImplsLExpanded | _finKnImplsLExpanded `seq` (True) -> (case (__tup99) of { (_cDataGenerBindL,_) | _cDataGenerBindL `seq` (True) -> (case (mkDataBinds ( \_ _ -> [] ) (\isNewtype (DataTagInfo { dtiConNm = conNm , dtiConFldAnnL = annL , dtiCTag = ctag }) -> mkDataConCBindL _lhsIopts _lhsIsysfEnv ctag (valGamLookupTyDefault conNm _finValGamDecls) annL conNm isNewtype ) _declsIgathDeclDataGam) of { __tup97 | __tup97 `seq` (True) -> (case (__tup97) of { (_,_dataValCBindL) | _dataValCBindL `seq` (True) -> (case (__tup93) of { (_chrScopeBindL,_) | _chrScopeBindL `seq` (True) -> (case ([ (CBindCateg_Rec,_chrScopeBindL) ]) of { _letCBindOtherL | _letCBindOtherL `seq` (True) -> (case (if isStrict_ then CBindCateg_Strict else CBindCateg_Rec) of { _howToBind | _howToBind `seq` (True) -> (case (__tup90) of { (_,_,_,_,_,_,_,_chrSolve2EvidCBindL,_,_,_) | _chrSolve2EvidCBindL `seq` (True) -> (case ([( _howToBind , _dataValCBindL ++ _chrSolve2EvidCBindL ++ _cDataGenerBindL ++ _declsIvalCBindL )]) of { _letValCBindL | _letValCBindL `seq` (True) -> (case (mkLetCBodyBindL isStrict_ _howToBind _letValCBindL _letCBindOtherL _bodyIletValCBindL _bodyIletCBody) of { __tup98 | __tup98 `seq` (True) -> (case (__tup98) of { (_,_,_letCBody) | _letCBody `seq` (True) -> (case (__tup98) of { (_letCBindRemL,_,_) | _letCBindRemL `seq` (True) -> (case (map fst _poiPrL) of { _poiL | _poiL `seq` (True) -> (case (zipWith (\po ty -> (po,SysF.ty2TyC _lhsIopts _lhsIsysfEnv ty)) _poiL _finKnImplsLExpanded) of { _poiAndAcoreTyL | _poiAndAcoreTyL `seq` (True) -> (case (mkAssumeBindings (map poiId _poiL) _lhsIchrEvidBindMp) of { _chrAssumeBindL | _chrAssumeBindL `seq` (True) -> (case (_chrAssumeBindL) of { _poiBindL | _poiBindL `seq` (True) -> (case (acoreCoePoiLLamTy (acoreCoeLetRec _poiBindL) _poiAndAcoreTyL) of { _lamArgCoeL | _lamArgCoeL `seq` (True) -> (case (id) of { _cann | _cann `seq` (True) -> (case (_bodyIcSubst) of { _cSubstTop | _cSubstTop `seq` (True) -> (case (\e -> foldr ($) e _declsIbangEvalL) of { _mkBangEval | _mkBangEval `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.cexprtop" $ foldr (\(c,b) e -> acoreLet c b e) (_mkBangEval _letCBody) _letCBindRemL) of { _cexprtop | _cexprtop `seq` (True) -> (case (let wr = id top = mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _cSubstTop (wr . _cann) _cexprtop [] _lamArgCoeL in top) of { __tup96 | __tup96 `seq` (True) -> (case (__tup96) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppErrsSq _letErrL) of { _errLetPP | _errLetPP `seq` (True) -> (case (if True then ppCmt ( ppGam (_lhsIfinTyVarMp `varUpd` _finValGamDecls) >-< ppGam ( _gathNewDataGam) >-< ppGam _lClGamNoDups >-< ppGam (fst $ gamPartition (\k _ -> tyKiKeyIsName k) _lQuTyKiGam_ex_subst) >-< ppGam _lQuTyGam ) else empty) of { _extraPP | _extraPP `seq` (True) -> (case (if ehcOptEhPP _lhsIopts then "let" >|< (if isStrict_ then pp "!" else empty) >#< (_declsIpp >-< _extraPP) >-< _errLetPP >#< "in" >-< _bodyIpp else empty) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([(CBindCateg_FFE,_declsIffeCBindL)]) of { _backCBindL | _backCBindL `seq` (True) -> (case (_backCBindL ++ _bodyIbackCBindL) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup96) of { (_,_cexprapptopCSubst) | _cexprapptopCSubst `seq` (True) -> (case (cSubstApp _bodyIcSubst _cexprapptopCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_bodyIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([(CBindCateg_Plain,_declsIffiCBindL)]) of { _frontCBindL | _frontCBindL `seq` (True) -> (case (_frontCBindL ++ _bodyIfrontCBindL) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.gathClGam" $ _bodyIgathClGam `gamUnion` _lClGamNoDups) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.fromList [ (dictNm,IdOcc_Val) | (_,dictNm,_,_,_) <- _generInstInfoL ] `Seq.union` _declsIgathHiddenExports `Seq.union` _bodyIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (_bodyIgathKiGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_declsIgathLamMp `lamMpUnionBindAspMp` _bodyIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (__tup90) of { (_,_,_,_,_,_chrSimplifyResult2,_,_,_,_,_) | _chrSimplifyResult2 `seq` (True) -> (case (mentrelFilterMpUnions [ _declsIgathMentrelFilterMp, _bodyIgathMentrelFilterMp , gathMentrelFilterMpFromSimplifyResult _lhsImoduleNm _chrSimplifyResult1 , gathMentrelFilterMpFromSimplifyResult _lhsImoduleNm _chrSimplifyResult2 ]) of { _gathMentrelFilterMp | _gathMentrelFilterMp `seq` (True) -> (case (_gathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.gathPolGam" $ _bodyIgathPolGam `gamUnion` _finGathPolGam_extra) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_declsIgathTvKiVarMp `varmpUnion` _bodyIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.gathTyGam" $ _bodyIgathTyGam `gamUnion` _lQuTyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.Let.lhs.gathTyKiGam" $ _bodyIgathTyKiGam `gamUnion` _lQuTyKiGam_ex_subst) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_letCBody) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case (__tup97) of { (_dataTyCBindL,_) | _dataTyCBindL `seq` (True) -> (case ([( CBindCateg_Rec , _dataTyCBindL ++ _declsItyCBindL )]) of { _letTyCBindL | _letTyCBindL `seq` (True) -> (case (_letTyCBindL ++ _bodyIletTyCBindL) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case (_letCBindRemL) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case (__tup98) of { (_,_letCBindMainL,_) | _letCBindMainL `seq` (True) -> (case (_letCBindMainL ++ _bodyIletValMainCBindL) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (_declsIorphanS `Set.union` _bodyIorphanS) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Let"] [] [_declsIppAST] _trppHere >-< _bodyIppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_declsItrpp >< _bodyItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Let_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Let_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_Let_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_Expr_Let_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Let_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_Let_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_Let_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_Lam :: Range -> T_PatExpr -> T_Expr -> T_Expr sem_Expr_Lam hsrange_ arg_ body_ | hsrange_ `seq` (arg_ `seq` (body_ `seq` (True))) = (case (body_) of { ( _bodyIrange,body_1) | True -> (case (arg_) of { ( _argIrange,arg_1) | True -> (case (rangeUnions [hsrange_, _argIrange , _bodyIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_Lam_1 :: T_Expr_1 sem_Expr_Lam_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_cexpr) -> (__cont,lUniq,lUniq2,lUniq_cexpr)}}} )) of { __tup123 | __tup123 `seq` (True) -> (case (__tup123) of { (_argOgUniq,_,_,_) | _argOgUniq `seq` (True) -> (case (arg_1 _argOgUniq) of { ( _argIgUniq,arg_2) | True -> (case (_argIgUniq) of { _bodyOgUniq | _bodyOgUniq `seq` (True) -> (case (body_1 _bodyOgUniq) of { ( _bodyIgUniq,_bodyIhasInstDecl,body_2) | True -> (case (_bodyIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Lam_2 :: T_Expr_2 sem_Expr_Lam_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIlexLev + 1) of { _lexLev | _lexLev `seq` (True) -> (case (_lexLev) of { _bodyOlexLev | _bodyOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _bodyOkiGam | _bodyOkiGam `seq` (True) -> (case (True) of { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _bodyOisFirstLet | _bodyOisFirstLet `seq` (True) -> (case (True) of { _mustEnterNewPredScope | _mustEnterNewPredScope `seq` (True) -> (case (pscpEnter' _mustEnterNewPredScope _lhsIpredSameScopeCounter) of { __tup116 | __tup116 `seq` (True) -> (case (__tup116) of { (_,_bodyOpredSameScopeCounter) | _bodyOpredSameScopeCounter `seq` (True) -> (case (__tup116) of { (_predSameScopeCounterLam,_) | _predSameScopeCounterLam `seq` (True) -> (case (body_2 _bodyOisFirstLet _bodyOkiGam _bodyOlexLev _bodyOpredSameScopeCounter) of { ( _bodyIpredSameScopeCounter,body_3) | True -> (case (pscpLeave' _mustEnterNewPredScope _predSameScopeCounterLam _bodyIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_Lam_3 :: T_Expr_3 sem_Expr_Lam_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 (_lhsItyKiGam) of { _argOtyKiGam | _argOtyKiGam `seq` (True) -> (case (pscpMk' _mustEnterNewPredScope _lhsIpredSameScopeCounter _lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _argOpredScope | _argOpredScope `seq` (True) -> (case (_lhsIpredSameScopeCounter) of { _argOpredSameScopeCounter | _argOpredSameScopeCounter `seq` (True) -> (case (_lhsIpolVarMp) of { _argOpolVarMp | _argOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _argOpolGam | _argOpolGam `seq` (True) -> (case (_lhsIopts) of { _argOopts | _argOopts `seq` (True) -> (case (_lexLev) of { _argOlexLev | _argOlexLev `seq` (True) -> (case (_lhsIkiVarMp) of { _argOkiVarMp | _argOkiVarMp `seq` (True) -> (case (_lhsIkiGam) of { _argOkiGam | _argOkiGam `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _argOgenerDataInfoMp | _argOgenerDataInfoMp `seq` (True) -> (case (gamPushNew _lhsItyGam) of { _argOtyGam | _argOtyGam `seq` (True) -> (case (arg_2 _argOkiGam _argOlexLev _argOpredSameScopeCounter) of { ( _argIpredSameScopeCounter,arg_3) | True -> (case (arg_3 _argOgenerDataInfoMp _argOkiVarMp _argOopts _argOpolGam _argOpolVarMp _argOpredScope _argOtyGam _argOtyKiGam _argOtyKiGlobFreeTvarS) of { ( _argIgenerDataInfoMp,_argIkiVarMp,_argIpolVarMp,_argItyGam,_argItyKiGam,arg_4) | True -> (case (_argItyKiGam) of { _bodyOtyKiGam | _bodyOtyKiGam `seq` (True) -> (case (_argItyGam) of { _bodyOtyGam | _bodyOtyGam `seq` (True) -> (case (_predScope) of { _bodyOpredScope | _bodyOpredScope `seq` (True) -> (case (_argIpolVarMp) of { _bodyOpolVarMp | _bodyOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _bodyOpolGam | _bodyOpolGam `seq` (True) -> (case (_lhsIopts) of { _bodyOopts | _bodyOopts `seq` (True) -> (case (_argIkiVarMp) of { _bodyOkiVarMp | _bodyOkiVarMp `seq` (True) -> (case (_argIgenerDataInfoMp) of { _bodyOgenerDataInfoMp | _bodyOgenerDataInfoMp `seq` (True) -> (case (varFreeSet (_argIkiVarMp `varUpd` gamTop _argItyKiGam) `Set.union` _lhsItyKiGlobFreeTvarS) of { _bodyOtyKiGlobFreeTvarS | _bodyOtyKiGlobFreeTvarS `seq` (True) -> (case (body_3 _bodyOgenerDataInfoMp _bodyOkiVarMp _bodyOopts _bodyOpolGam _bodyOpolVarMp _bodyOpredScope _bodyOtyGam _bodyOtyKiGam _bodyOtyKiGlobFreeTvarS) of { ( _bodyIgenerDataInfoMp,_bodyIkiVarMp,_bodyIpolVarMp,body_4) | True -> (case (_bodyIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_bodyIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_bodyIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case ((let sem_Expr_Lam_4 :: T_Expr_4 sem_Expr_Lam_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _bodyOtyTyTySigFreeTvarS | _bodyOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _bodyOgathDataGam | _bodyOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _bodyOfinTyKiGam | _bodyOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _bodyOfinKiVarMp | _bodyOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _bodyOclGam | _bodyOclGam `seq` (True) -> (case (body_4 _bodyOclGam _bodyOfinKiVarMp _bodyOfinTyKiGam _bodyOgathDataGam _bodyOtyTyTySigFreeTvarS) of { ( _bodyIgathDataGam,body_5) | True -> (case (_bodyIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Lam_5 :: T_Expr_5 sem_Expr_Lam_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _predScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _bodyOdataGam | _bodyOdataGam `seq` (True) -> (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 (body_5 _bodyOdataGam) of { ( _bodyIchrClassDeclSq,_bodyIchrFIIn,_bodyIchrInstDeclSq,_bodyIgathClDfGam,body_6) | True -> (case (arg_4 _argOclGam _argOdataGam _argOfinKiVarMp _argOfinTyKiGam _argOtyTyTySigFreeTvarS) of { ( _argIchrInstDeclSq,_argItopNm,arg_5) | True -> (case (_argIchrInstDeclSq `Seq.union` _bodyIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Lam_6 :: T_Expr_6 sem_Expr_Lam_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (emptyGam) of { _tySigGam | _tySigGam `seq` (True) -> (case (_tySigGam) of { _argOtySigGam | _argOtySigGam `seq` (True) -> (case (_lhsIfiOpts) of { _argOfiOpts | _argOfiOpts `seq` (True) -> (case (__tup123) of { (_,_,_lUniq2,_) | _lUniq2 `seq` (True) -> (case (__tup123) of { (_,_lUniq,_,_) | _lUniq `seq` (True) -> (case (True) of { _argOinclVarBind | _argOinclVarBind `seq` (True) -> (case (mkFreshLamImTy _lUniq) of { __tup121 | __tup121 `seq` (True) -> (case (__tup121) of { (_,_,_,_funTy) | _funTy `seq` (True) -> (case (__tup121) of { (_,_argTy,_,_) | _argTy `seq` (True) -> (case (\o m -> fitsIn o _fe _lUniq2 m _funTy _lhsIknTy) of { _doFit | _doFit `seq` (True) -> (case (_lhsItyVarMp) of { _lamKnTyVarMp | _lamKnTyVarMp `seq` (True) -> (case ((_lhsIfiOpts { fioBindRFirst=True })) of { _knFunFIOpts | _knFunFIOpts `seq` (True) -> (case (_doFit _knFunFIOpts _lamKnTyVarMp) of { _fo_fitF_ | _fo_fitF_ `seq` (True) -> (case (foVarMp _fo_fitF_ `varUpd` _lhsItyVarMp) of { _forArgTyVarMp | _forArgTyVarMp `seq` (True) -> (case (_forArgTyVarMp) of { _argOpatTyVarMp | _argOpatTyVarMp `seq` (True) -> (case (_argTy) of { _argOknTy | _argOknTy `seq` (True) -> (case (gamPushNew _lhsIvalGam) of { _argOvalGam | _argOvalGam `seq` (True) -> (case ([]) of { _argOknTyL | _argOknTyL `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 (_argIvalGam) of { _bodyOvalGam | _bodyOvalGam `seq` (True) -> (case (_lhsItvKiVarMp) of { _bodyOtvKiVarMp | _bodyOtvKiVarMp `seq` (True) -> (case (_lhsIfiOpts) of { _bodyOfiOpts | _bodyOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _bodyOclDfGam | _bodyOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _bodyOchrStore | _bodyOchrStore `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _argOvalTyGlobFreeTvarS | _argOvalTyGlobFreeTvarS `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 (_argIpatTyVarMp) of { _argOtyVarMp | _argOtyVarMp `seq` (True) -> (case (arg_7 _argOchrStore _argOclDfGam _argOtvKiVarMp _argOtyTyGlobFreeTvarS _argOtyVarMp _argOvalTyGlobFreeTvarS) of { ( _argIcpNm,_argIgathCnstrMp,_argIgathRangeMp,_argIscopeGam,_argIty,_argItyVarMp,arg_8) | True -> (case (_argItyVarMp) of { _bodyOtyVarMp | _bodyOtyVarMp `seq` (True) -> (case (__tup121) of { (_,_,_resTy,_) | _resTy `seq` (True) -> (case (__tup121) of { (_imTy,_,_,_) | _imTy `seq` (True) -> (case (_resTy) of { _bodyOknTy | _bodyOknTy `seq` (True) -> (case (varFreeSet (gamTop _argItyGam) `Set.union` _lhsItyTyGlobFreeTvarS) of { _bodyOtyTyGlobFreeTvarS | _bodyOtyTyGlobFreeTvarS `seq` (True) -> (case (varFreeSet (gamTop _argIvalGam) `Set.union` _lhsIvalTyGlobFreeTvarS) of { _bodyOvalTyGlobFreeTvarS | _bodyOvalTyGlobFreeTvarS `seq` (True) -> (case (foVarMp _fo_fitF_ `varUpd` _imTy) of { _imSubsTy | _imSubsTy `seq` (True) -> (case (implsPredsTail _predScope $ tyImpls _imSubsTy) of { __tup117 | __tup117 `seq` (True) -> (case (__tup117) of { (_knPrL,_) | _knPrL `seq` (True) -> (case (gathPredLToAssumeCnstrMp _knPrL) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (body_6 _bodyOchrStore _bodyOclDfGam _bodyOfiOpts _bodyOknTy _bodyOtvKiVarMp _bodyOtyTyGlobFreeTvarS _bodyOtyVarMp _bodyOvalGam _bodyOvalTyGlobFreeTvarS) of { ( _bodyIgathCnstrMp,_bodyIgathRangeMp,_bodyIgathValGam,_bodyInoLetQuantTyVarIdS,_bodyIty,_bodyItyVarMp,body_7) | True -> (case (cnstrMpUnions [_hereCnstrMp,_argIgathCnstrMp,_bodyIgathCnstrMp]) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_argIgathRangeMp `Map.union` _bodyIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_bodyInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (tyArrowImplsArgResWithLkup (varmpTyLookupCyc2 _forArgTyVarMp) _funTy) of { __tup122 | __tup122 `seq` (True) -> (case (__tup122) of { (_knImpls,_,_) | _knImpls `seq` (True) -> (case ((_knImpls ++ [_argIty]) `appArr` _bodyIty) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_bodyItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Lam_7 :: T_Expr_7 sem_Expr_Lam_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (_lhsIsysfEnv) of { _bodyOsysfEnv | _bodyOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _bodyOrangeMp | _bodyOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _bodyOfinValGam | _bodyOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _bodyOfinTyVarMp | _bodyOfinTyVarMp `seq` (True) -> (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 (_lhsItr) of { _bodyOtr | _bodyOtr `seq` (True) -> (case (_lhsImoduleNm) of { _bodyOmoduleNm | _bodyOmoduleNm `seq` (True) -> (case (mkScopeBindings False _predScope _lhsIchrScopeBindMp) of { __tup115 | __tup115 `seq` (True) -> (case (__tup115) of { (_,_chrScopeBindMp) | _chrScopeBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _bodyOchrScopeBindMp | _bodyOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _bodyOchrEvidBindMp | _bodyOchrEvidBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _argOchrScopeBindMp | _argOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _argOchrEvidBindMp | _argOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _argOcSubst | _argOcSubst `seq` (True) -> (case (emptyVarMp) of { _tySigVarMp | _tySigVarMp `seq` (True) -> (case (_tySigVarMp) of { _argOtySigVarMp | _argOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _argOtr | _argOtr `seq` (True) -> (case (_lhsImoduleNm) of { _argOmoduleNm | _argOmoduleNm `seq` (True) -> (case (_argItopNm) 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 (_argIcSubst) of { _bodyOcSubst | _bodyOcSubst `seq` (True) -> (case (ExprCtxt_Lam) of { _bodyOexprCtxt | _bodyOexprCtxt `seq` (True) -> (case (body_7 _bodyOcSubst _bodyOchrEvidBindMp _bodyOchrScopeBindMp _bodyOexprCtxt _bodyOfinTyVarMp _bodyOfinValGam _bodyOmoduleNm _bodyOrangeMp _bodyOsysfEnv _bodyOtr) of { ( _bodyIallErrSq,_bodyIappArgCoeL,_bodyIappArgPPL,_bodyIappFunCExpr,_bodyIappFunNm,_bodyIappFunPP,_bodyIbackCBindL,_bodyIcSubst,_bodyIcaseFailS,_bodyIcexpr,_bodyIerrSq,_bodyIfrontCBindL,_bodyIfuCExprL,_bodyIgathClGam,_bodyIgathHiddenExports,_bodyIgathKiGam,_bodyIgathLamMp,_bodyIgathMentrelFilterMp,_bodyIgathPolGam,_bodyIgathTvKiVarMp,_bodyIgathTyGam,_bodyIgathTyKiGam,_bodyIisNewtype,_bodyIlamArgPPL,_bodyIlamBodyPP,_bodyIletCBody,_bodyIletTyCBindL,_bodyIletValCBindL,_bodyIletValMainCBindL,_bodyIorphanS,_bodyIpp,_bodyIppAST,_bodyItrpp) | True -> (case (_argIallErrSq `Seq.union` _bodyIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup123) of { (_,_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (__tup117) of { (_,_knImplsTl) | _knImplsTl `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _knImplsTl) of { _impls2KnTl | _impls2KnTl `seq` (True) -> (case (tyImpls _imSubsTy) of { _impls2KnHd | _impls2KnHd `seq` (True) -> (case ([_impls2KnHd, _impls2KnTl]) of { _impls2KnHdTl | _impls2KnHdTl `seq` (True) -> (case (concatMap implsPrIdPredL _impls2KnHdTl) of { _poiPrL | _poiPrL `seq` (True) -> (case (map (mkTyPr . snd) _poiPrL) of { _finKnImplsL | _finKnImplsL `seq` (True) -> (case (map (tyCanonicFFI (emptyTyBetaRedEnv' _fe)) _finKnImplsL) of { _finKnImplsLExpanded | _finKnImplsLExpanded `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _argIty) of { _finalTyArg | _finalTyArg `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTyArg) of { _finalTyArgExpanded | _finalTyArgExpanded `seq` (True) -> (case (map fst _poiPrL) of { _poiL | _poiL `seq` (True) -> (case (zipWith (\po ty -> (po,SysF.ty2TyC _lhsIopts _lhsIsysfEnv ty)) _poiL _finKnImplsLExpanded) of { _poiAndAcoreTyL | _poiAndAcoreTyL `seq` (True) -> (case ((appDbg "Expr.{Lam LamImpl}.sysftyArg not implemented" :: SysfTy)) of { _sysftyLamArg | _sysftyLamArg `seq` (True) -> (case (mkCTy _lhsIopts _finalTyArgExpanded _sysftyLamArg) of { _acoretyArg | _acoretyArg `seq` (True) -> (case (mkAssumeBindings (map poiId _poiL) _lhsIchrEvidBindMp) of { _chrAssumeBindL | _chrAssumeBindL `seq` (True) -> (case (__tup115) of { (_chrScopeBindL,_) | _chrScopeBindL `seq` (True) -> (case (_chrAssumeBindL ++ _chrScopeBindL) of { _poiBindL | _poiBindL `seq` (True) -> (case (acoreCoePoiLLamTy (acoreCoeLetRec _poiBindL) _poiAndAcoreTyL ++ [acoreCoeLam1Ty _argItopNm _acoretyArg]) of { _lamArgCoeL | _lamArgCoeL `seq` (True) -> (case (mkLamBodyCoe (acoreCoeMap (\e -> rceMatchTy _rceEnv [(_argItopNm,_acoretyArg)] [RAlt_Alt [_argIrpat] e Set.empty])) _bodyIappArgCoeL) of { _lamBodyCoeL | _lamBodyCoeL `seq` (True) -> (case (let wr = id lam = mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _bodyIcSubst wr _bodyIappFunCExpr _lamBodyCoeL _lamArgCoeL in lam) of { __tup118 | __tup118 `seq` (True) -> (case (__tup118) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_argIpp) of { _argPP | _argPP `seq` (True) -> (case (_argPP : _bodyIlamArgPPL) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (if _lhsIexprCtxt /= ExprCtxt_Lam then let sep = case _lamArgPPL of [_] -> (>#<) _ -> (>###<) in ("\\" >|< ppSpaces _lamArgPPL) `sep` ("->" >#< _bodyIlamBodyPP) else "\\" >|< _argPP >#< "->" >#< _bodyIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup118) of { (_,_cexprlamCSubst) | _cexprlamCSubst `seq` (True) -> (case (cSubstApp _bodyIcSubst _cexprlamCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_bodyIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (rngLift _range mkNestErr' _pp [foErrSq _fo_fitF_, _argIerrSq, _bodyIerrSq]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_bodyIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_bodyIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_argIgathMentrelFilterMp `mentrelFilterMpUnion` _bodyIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_argIgathTvKiVarMp `varmpUnion` _bodyIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_bodyIlamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Lam"] [] [_argIppAST,_bodyIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_argItrpp >< _bodyItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Lam_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Lam_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_Lam_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_Lam_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Lam_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_Lam_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }))) in sem_Expr_Lam_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_AppTop :: Range -> T_Expr -> T_Expr sem_Expr_AppTop hsrange_ expr_ | hsrange_ `seq` (expr_ `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_Expr_AppTop_1 :: T_Expr_1 sem_Expr_AppTop_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq_cexpr) -> case nextUnique __cont of { (__cont, lUniq_fit) -> case nextUnique __cont of { (__cont, lUniq_freshKnTy) -> (__cont,lUniq_cexpr,lUniq_fit,lUniq_freshKnTy)}}} )) of { __tup130 | __tup130 `seq` (True) -> (case (__tup130) of { (_exprOgUniq,_,_,_) | _exprOgUniq `seq` (True) -> (case (expr_1 _exprOgUniq) of { ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True -> (case (_exprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_AppTop_2 :: T_Expr_2 sem_Expr_AppTop_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIlexLev) of { _exprOlexLev | _exprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _exprOkiGam | _exprOkiGam `seq` (True) -> (case (True) of { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _exprOisFirstLet | _exprOisFirstLet `seq` (True) -> (case (False) of { _mustEnterNewPredScope | _mustEnterNewPredScope `seq` (True) -> (case (pscpEnter' _mustEnterNewPredScope _lhsIpredSameScopeCounter) of { __tup125 | __tup125 `seq` (True) -> (case (__tup125) of { (_,_exprOpredSameScopeCounter) | _exprOpredSameScopeCounter `seq` (True) -> (case (__tup125) of { (_predSameScopeCounterTop,_) | _predSameScopeCounterTop `seq` (True) -> (case (expr_2 _exprOisFirstLet _exprOkiGam _exprOlexLev _exprOpredSameScopeCounter) of { ( _exprIpredSameScopeCounter,expr_3) | True -> (case (pscpLeave' _mustEnterNewPredScope _predSameScopeCounterTop _exprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_AppTop_3 :: T_Expr_3 sem_Expr_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 { _exprOtyKiGlobFreeTvarS | _exprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _exprOtyKiGam | _exprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _exprOtyGam | _exprOtyGam `seq` (True) -> (case (pscpMk' _mustEnterNewPredScope _lhsIpredSameScopeCounter _lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) 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 ((let sem_Expr_AppTop_4 :: T_Expr_4 sem_Expr_AppTop_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _exprOgathDataGam | _exprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _exprOclGam | _exprOclGam `seq` (True) -> (case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of { ( _exprIgathDataGam,expr_5) | True -> (case (_exprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_AppTop_5 :: T_Expr_5 sem_Expr_AppTop_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _predScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _exprOdataGam | _exprOdataGam `seq` (True) -> (case (expr_5 _exprOdataGam) of { ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True -> (case (_exprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_AppTop_6 :: T_Expr_6 sem_Expr_AppTop_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((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 (__tup130) of { (_,_,_,_lUniq_freshKnTy) | _lUniq_freshKnTy `seq` (True) -> (case (mkFreshAppImTy _lUniq_freshKnTy id) of { __tup129 | __tup129 `seq` (True) -> (case (__tup129) of { (_,_knTopTy,_) | _knTopTy `seq` (True) -> (case (_knTopTy) of { _knTy | _knTy `seq` (True) -> (case (_knTy) of { _exprOknTy | _exprOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _exprOfiOpts | _exprOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _exprOclDfGam | _exprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _exprOchrStore | _exprOchrStore `seq` (True) -> (case (__tup130) of { (_,_,_lUniq_fit,_) | _lUniq_fit `seq` (True) -> (case (__tup129) of { (_,_,_resTy) | _resTy `seq` (True) -> (case (\o m -> fitsIn o _fe _lUniq_fit m _resTy _lhsIknTy) of { _doFit | _doFit `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.AppTop.loc.foKnRes" $ _doFit _lhsIfiOpts _lhsItyVarMp) of { _foKnRes | _foKnRes `seq` (True) -> (case (foVarMp _foKnRes `varUpd` _lhsItyVarMp) of { _forExprTyVarMp | _forExprTyVarMp `seq` (True) -> (case (_forExprTyVarMp) of { _exprOtyVarMp | _exprOtyVarMp `seq` (True) -> (case (__tup129) of { (_imTy,_,_) | _imTy `seq` (True) -> (case (foVarMp _foKnRes `varUpd` _imTy) of { _imSubsTy | _imSubsTy `seq` (True) -> (case (implsPredsTail _predScope $ tyImpls _imSubsTy) of { __tup126 | __tup126 `seq` (True) -> (case (__tup126) of { (_knPrL,_) | _knPrL `seq` (True) -> (case (gathPredLToAssumeCnstrMp _knPrL) 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 { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_exprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_resTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_exprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_AppTop_7 :: T_Expr_7 sem_Expr_AppTop_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _exprOexprCtxt | _exprOexprCtxt `seq` (True) -> (case (mkScopeBindings False _predScope _lhsIchrScopeBindMp) of { __tup124 | __tup124 `seq` (True) -> (case (__tup124) of { (_,_chrScopeBindMp) | _chrScopeBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _exprOcSubst | _exprOcSubst `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 (__tup130) of { (_,_lUniq_cexpr,_,_) | _lUniq_cexpr `seq` (True) -> (case (__tup126) of { (_,_knImplsTl) | _knImplsTl `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _knImplsTl) of { _impls2KnTl | _impls2KnTl `seq` (True) -> (case (tyImpls _imSubsTy) of { _impls2KnHd | _impls2KnHd `seq` (True) -> (case ([_impls2KnHd, _impls2KnTl]) of { _impls2KnHdTl | _impls2KnHdTl `seq` (True) -> (case (concatMap implsPrIdPredL _impls2KnHdTl) of { _poiPrL | _poiPrL `seq` (True) -> (case (map (mkTyPr . snd) _poiPrL) of { _finKnImplsL | _finKnImplsL `seq` (True) -> (case (map (tyCanonicFFI (emptyTyBetaRedEnv' _fe)) _finKnImplsL) of { _finKnImplsLExpanded | _finKnImplsLExpanded `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _ty) of { _finalTy | _finalTy `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTy) of { _finalTyExpanded | _finalTyExpanded `seq` (True) -> (case (map fst _poiPrL) of { _poiL | _poiL `seq` (True) -> (case (zipWith (\po ty -> (po,SysF.ty2TyC _lhsIopts _lhsIsysfEnv ty)) _poiL _finKnImplsLExpanded) of { _poiAndAcoreTyL | _poiAndAcoreTyL `seq` (True) -> (case (mkAssumeBindings (map poiId _poiL) _lhsIchrEvidBindMp) of { _chrAssumeBindL | _chrAssumeBindL `seq` (True) -> (case (__tup124) of { (_chrScopeBindL,_) | _chrScopeBindL `seq` (True) -> (case (_chrAssumeBindL ++ _chrScopeBindL) of { _poiBindL | _poiBindL `seq` (True) -> (case (acoreCoePoiLLamTy (acoreCoeLetRec _poiBindL) _poiAndAcoreTyL) of { _lamArgCoeL | _lamArgCoeL `seq` (True) -> (case (CExpr_Ann (CExprAnn_Ty _finalTyExpanded)) of { _cann | _cann `seq` (True) -> (case (_exprIcSubst) of { _cSubstTop | _cSubstTop `seq` (True) -> (case (_exprIcexpr) of { _cexprtop | _cexprtop `seq` (True) -> (case (let wr = id top = mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _cSubstTop (wr . _cann) _cexprtop [] _lamArgCoeL in top) of { __tup127 | __tup127 `seq` (True) -> (case (__tup127) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (if null _lamArgCoeL then (_exprIappArgCoeL,_exprIappFunCExpr) else ([],_cexpr)) of { __tup128 | __tup128 `seq` (True) -> (case (__tup128) of { (_lhsOappArgCoeL,_) | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup128) of { (_,_lhsOappFunCExpr) | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppAppTop (_exprIappFunNm,_exprIappFunPP) _exprIappArgPPL _exprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup127) of { (_,_cexprapptopCSubst) | _cexprapptopCSubst `seq` (True) -> (case (cSubstApp _exprIcSubst _cexprapptopCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_exprIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (rngLift _range mkNestErr' _pp [_exprIerrSq]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_exprIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_exprIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_exprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_exprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","AppTop"] [] [_exprIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_exprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_AppTop_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_AppTop_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }))) in sem_Expr_AppTop_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_AppTop_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_AppTop_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_AppTop_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }))) in sem_Expr_AppTop_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) sem_Expr_Parens :: Range -> T_Expr -> T_Expr sem_Expr_Parens hsrange_ expr_ | hsrange_ `seq` (expr_ `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_Expr_Parens_1 :: T_Expr_1 sem_Expr_Parens_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (_lhsIgUniq) of { _exprOgUniq | _exprOgUniq `seq` (True) -> (case (expr_1 _exprOgUniq) of { ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True -> (case (_exprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Parens_2 :: T_Expr_2 sem_Expr_Parens_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) 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_Expr_Parens_3 :: T_Expr_3 sem_Expr_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 { _exprOtyKiGlobFreeTvarS | _exprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _exprOtyKiGam | _exprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _exprOtyGam | _exprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) 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 ((let sem_Expr_Parens_4 :: T_Expr_4 sem_Expr_Parens_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _exprOgathDataGam | _exprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _exprOclGam | _exprOclGam `seq` (True) -> (case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of { ( _exprIgathDataGam,expr_5) | True -> (case (_exprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Parens_5 :: T_Expr_5 sem_Expr_Parens_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _exprOdataGam | _exprOdataGam `seq` (True) -> (case (expr_5 _exprOdataGam) of { ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True -> (case (_exprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Parens_6 :: T_Expr_6 sem_Expr_Parens_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _exprOvalTyGlobFreeTvarS | _exprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _exprOvalGam | _exprOvalGam `seq` (True) -> (case (_lhsItyVarMp) of { _exprOtyVarMp | _exprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _exprOtyTyGlobFreeTvarS | _exprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _exprOtvKiVarMp | _exprOtvKiVarMp `seq` (True) -> (case (_lhsIknTy) of { _exprOknTy | _exprOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _exprOfiOpts | _exprOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _exprOclDfGam | _exprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _exprOchrStore | _exprOchrStore `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 (_exprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_exprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_exprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_exprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_exprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Parens_7 :: T_Expr_7 sem_Expr_Parens_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (_lhsIexprCtxt) of { _exprOexprCtxt | _exprOexprCtxt `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _exprOcSubst | _exprOcSubst `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 { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (_exprIcexpr) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppParens _exprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_exprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_exprIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (_exprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_exprIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_exprIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_exprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_exprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Parens"] [] [_exprIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_exprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Parens_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Parens_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }))) in sem_Expr_Parens_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_Parens_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Parens_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) })))))) in sem_Expr_Parens_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }))) in sem_Expr_Parens_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) sem_Expr_TypeAs :: Range -> Bool -> T_TyExpr -> T_Expr -> T_Expr sem_Expr_TypeAs hsrange_ isScoped_ tyExpr_ expr_ | hsrange_ `seq` (isScoped_ `seq` (tyExpr_ `seq` (expr_ `seq` (True)))) = (case (expr_) of { ( _exprIrange,expr_1) | True -> (case (tyExpr_) of { ( _tyExprIrange,tyExpr_1) | True -> (case (rangeUnions [hsrange_, _tyExprIrange , _exprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_TypeAs_1 :: T_Expr_1 sem_Expr_TypeAs_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) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq2,lUniq3,lUniq_cexpr)}}}} )) of { __tup132 | __tup132 `seq` (True) -> (case (__tup132) of { (_tyExprOgUniq,_,_,_,_) | _tyExprOgUniq `seq` (True) -> (case (tyExpr_1 _tyExprOgUniq) of { ( _tyExprIgUniq,tyExpr_2) | True -> (case (_tyExprIgUniq) of { _exprOgUniq | _exprOgUniq `seq` (True) -> (case (expr_1 _exprOgUniq) of { ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True -> (case (_exprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_TypeAs_2 :: T_Expr_2 sem_Expr_TypeAs_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) 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_Expr_TypeAs_3 :: T_Expr_3 sem_Expr_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 { _exprOtyKiGlobFreeTvarS | _exprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsIpolVarMp) of { _tyExprOpolVarMp | _tyExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _tyExprOpolGam | _tyExprOpolGam `seq` (True) -> (case (gamPushNew _lhsItyKiGam) of { _tyExprOtyKiGam | _tyExprOtyKiGam `seq` (True) -> (case (gamPushNew _lhsItyGam) of { _tyExprOtyGam | _tyExprOtyGam `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 { _exprOtyKiGam | _exprOtyKiGam `seq` (True) -> (case (_tyExprItyGam) of { _exprOtyGam | _exprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _exprOpredScope | _exprOpredScope `seq` (True) -> (case (_tyExprIpolVarMp) of { _exprOpolVarMp | _exprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _exprOpolGam | _exprOpolGam `seq` (True) -> (case (_lhsIopts) of { _exprOopts | _exprOopts `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 { _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 ((let sem_Expr_TypeAs_4 :: T_Expr_4 sem_Expr_TypeAs_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _exprOgathDataGam | _exprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _exprOclGam | _exprOclGam `seq` (True) -> (case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of { ( _exprIgathDataGam,expr_5) | True -> (case (_exprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_TypeAs_5 :: T_Expr_5 sem_Expr_TypeAs_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _exprOdataGam | _exprOdataGam `seq` (True) -> (case (expr_5 _exprOdataGam) of { ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True -> (case (_exprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_TypeAs_6 :: T_Expr_6 sem_Expr_TypeAs_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _exprOvalTyGlobFreeTvarS | _exprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _exprOvalGam | _exprOvalGam `seq` (True) -> (case (_lhsItvKiVarMp) of { _exprOtvKiVarMp | _exprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _exprOclDfGam | _exprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _exprOchrStore | _exprOchrStore `seq` (True) -> (case (__tup132) of { (_,_lUniq,_,_,_) | _lUniq `seq` (True) -> (case (emptyFO) of { _fo_fitDown | _fo_fitDown `seq` (True) -> (case (Map.keysSet _tyExprItyVarWildMp `Set.union` (if isScoped_ then varFreeSet _tyExprIty else Set.empty)) of { _tyVarWildS | _tyVarWildS `seq` (True) -> (case (setSubst _lhsItyVarMp _lhsItyTyGlobFreeTvarS) of { _tyTyUpdFreeTvarS | _tyTyUpdFreeTvarS `seq` (True) -> (case (setSubst _lhsItyVarMp _lhsIvalTyGlobFreeTvarS) of { _valTyUpdFreeTvarS | _valTyUpdFreeTvarS `seq` (True) -> (case (_tyTyUpdFreeTvarS `Set.union` _valTyUpdFreeTvarS) of { _gTyTvS | _gTyTvS `seq` (True) -> (case (_lhsItyVarMp `varUpd` _tyExprIty) of { _tyTy | _tyTy `seq` (True) -> (case (tyQuantifyOuter (const kiStar ) (`Set.member` (_tyVarWildS `Set.union` _gTyTvS)) _tyTy) of { _ty_q_ | _ty_q_ `seq` (True) -> (case (_lhsIfiOpts) of { _knTyFIOpts | _knTyFIOpts `seq` (True) -> (case (fitsIn _knTyFIOpts _fe _lUniq _lhsItyVarMp _ty_q_ _lhsIknTy) of { _fo_ | _fo_ `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _ty_q_2_VarMp | _ty_q_2_VarMp `seq` (True) -> (case (foVarMp _fo_fitDown `varUpd` _ty_q_2_VarMp) of { _exprOtyVarMp | _exprOtyVarMp `seq` (True) -> (case (_ty_q_) of { _knTyDown | _knTyDown `seq` (True) -> (case (_knTyDown) of { _exprOknTy | _exprOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _exprOfiOpts | _exprOfiOpts `seq` (True) -> (case (_tyVarWildS `Set.union` _lhsItyTyGlobFreeTvarS) of { _exprOtyTyGlobFreeTvarS | _exprOtyTyGlobFreeTvarS `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, foGathCnstrMp _fo_fitDown, _exprIgathCnstrMp]) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_exprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (tvwmpNoQuantS _tyExprItyVarWildMp `Set.union` _exprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_exprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_exprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_TypeAs_7 :: T_Expr_7 sem_Expr_TypeAs_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _exprOexprCtxt | _exprOexprCtxt `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _exprOcSubst | _exprOcSubst `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 (_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` _exprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup132) of { (_,_,_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (let (_,u1,u2) = mkNewLevUID2 _lUniq_cexpr (e1,s1) = foAppLRCoeAsSubst _lhsIopts u1 _fo_fitDown _lhsIfinTyVarMp _exprIcSubst _exprIcexpr (e2,s2) = foAppLRCoeAsSubst _lhsIopts u2 _fo_ _lhsIfinTyVarMp _exprIcSubst e1 in (e2, s1 `cSubstApp` s2)) of { __tup131 | __tup131 `seq` (True) -> (case (__tup131) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (ppParens _exprIpp >#< "::" >|< (if isScoped_ then "sc" else "") >#< _tyExprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup131) of { (_,_cexprtypeasCSubst) | _cexprtypeasCSubst `seq` (True) -> (case (cSubstApp _exprIcSubst _cexprtypeasCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_exprIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (rngLift _range mkNestErr' _pp [ _exprIerrSq, _tyExprIerrSq, foErrSq _fo_, foErrSq _fo_fitDown ]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_exprIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_exprIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_tyExprIgathMentrelFilterMp `mentrelFilterMpUnion` _exprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_exprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","TypeAs"] [pp isScoped_] [_exprIppAST,_tyExprIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_tyExprItrpp >< _exprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_TypeAs_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_TypeAs_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }))) in sem_Expr_TypeAs_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_TypeAs_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_TypeAs_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) })))))) in sem_Expr_TypeAs_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }))) in sem_Expr_TypeAs_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_Ann :: Range -> T_ExprAnn -> T_Expr -> T_Expr sem_Expr_Ann hsrange_ ann_ expr_ | hsrange_ `seq` (ann_ `seq` (expr_ `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_Expr_Ann_1 :: T_Expr_1 sem_Expr_Ann_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (_lhsIgUniq) of { _exprOgUniq | _exprOgUniq `seq` (True) -> (case (expr_1 _exprOgUniq) of { ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True -> (case (_exprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Ann_2 :: T_Expr_2 sem_Expr_Ann_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) 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_Expr_Ann_3 :: T_Expr_3 sem_Expr_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 { _exprOtyKiGlobFreeTvarS | _exprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _exprOtyKiGam | _exprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _exprOtyGam | _exprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) 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 ((let sem_Expr_Ann_4 :: T_Expr_4 sem_Expr_Ann_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _exprOgathDataGam | _exprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _exprOclGam | _exprOclGam `seq` (True) -> (case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of { ( _exprIgathDataGam,expr_5) | True -> (case (_exprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Ann_5 :: T_Expr_5 sem_Expr_Ann_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _exprOdataGam | _exprOdataGam `seq` (True) -> (case (expr_5 _exprOdataGam) of { ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True -> (case (_exprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Ann_6 :: T_Expr_6 sem_Expr_Ann_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _exprOvalTyGlobFreeTvarS | _exprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _exprOvalGam | _exprOvalGam `seq` (True) -> (case (_lhsItyVarMp) of { _exprOtyVarMp | _exprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _exprOtyTyGlobFreeTvarS | _exprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _exprOtvKiVarMp | _exprOtvKiVarMp `seq` (True) -> (case (_lhsIknTy) of { _exprOknTy | _exprOknTy `seq` (True) -> (case (_lhsIfiOpts) of { _exprOfiOpts | _exprOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _exprOclDfGam | _exprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _exprOchrStore | _exprOchrStore `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 (_exprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_exprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_exprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_exprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_exprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Ann_7 :: T_Expr_7 sem_Expr_Ann_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _exprOexprCtxt | _exprOexprCtxt `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _exprOcSubst | _exprOcSubst `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 { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (_exprIcexpr) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_exprIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_exprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_exprIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (_exprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_exprIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_exprIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_exprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_exprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (_exprIppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_exprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Ann_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Ann_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }))) in sem_Expr_Ann_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_Ann_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Ann_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) })))))) in sem_Expr_Ann_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }))) in sem_Expr_Ann_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) sem_Expr_AppImpred :: Range -> T_Expr -> T_Expr -> T_Expr sem_Expr_AppImpred 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_Expr_AppImpred_1 :: T_Expr_1 sem_Expr_AppImpred_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq3) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq3,lUniq_cexpr)}}} )) of { __tup139 | __tup139 `seq` (True) -> (case (__tup139) of { (_funcOgUniq,_,_,_) | _funcOgUniq `seq` (True) -> (case (func_1 _funcOgUniq) of { ( _funcIgUniq,_funcIhasInstDecl,func_2) | True -> (case (_funcIgUniq) of { _argOgUniq | _argOgUniq `seq` (True) -> (case (arg_1 _argOgUniq) of { ( _argIgUniq,_argIhasInstDecl,arg_2) | True -> (case (_argIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_AppImpred_2 :: T_Expr_2 sem_Expr_AppImpred_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 (True) of { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _funcOisFirstLet | _funcOisFirstLet `seq` (True) -> (case (func_2 _funcOisFirstLet _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 (_isFirstLet) of { _argOisFirstLet | _argOisFirstLet `seq` (True) -> (case (arg_2 _argOisFirstLet _argOkiGam _argOlexLev _argOpredSameScopeCounter) of { ( _argIpredSameScopeCounter,arg_3) | True -> (case (_argIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_AppImpred_3 :: T_Expr_3 sem_Expr_AppImpred_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 (_lhsItyKiGam) of { _argOtyKiGam | _argOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _argOtyGam | _argOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _argOpredScope | _argOpredScope `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _funcOtyKiGlobFreeTvarS | _funcOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _funcOtyKiGam | _funcOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _funcOtyGam | _funcOtyGam `seq` (True) -> (case (_predScope) 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,func_4) | 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,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 ((let sem_Expr_AppImpred_4 :: T_Expr_4 sem_Expr_AppImpred_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _argOtyTyTySigFreeTvarS | _argOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _funcOtyTyTySigFreeTvarS | _funcOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _funcOgathDataGam | _funcOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _funcOfinTyKiGam | _funcOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _funcOfinKiVarMp | _funcOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _funcOclGam | _funcOclGam `seq` (True) -> (case (func_4 _funcOclGam _funcOfinKiVarMp _funcOfinTyKiGam _funcOgathDataGam _funcOtyTyTySigFreeTvarS) of { ( _funcIgathDataGam,func_5) | True -> (case (_funcIgathDataGam) of { _argOgathDataGam | _argOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _argOfinTyKiGam | _argOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _argOfinKiVarMp | _argOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _argOclGam | _argOclGam `seq` (True) -> (case (arg_4 _argOclGam _argOfinKiVarMp _argOfinTyKiGam _argOgathDataGam _argOtyTyTySigFreeTvarS) of { ( _argIgathDataGam,arg_5) | True -> (case (_argIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_AppImpred_5 :: T_Expr_5 sem_Expr_AppImpred_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _argOdataGam | _argOdataGam `seq` (True) -> (case (_lhsIdataGam) of { _funcOdataGam | _funcOdataGam `seq` (True) -> (case (arg_5 _argOdataGam) of { ( _argIchrClassDeclSq,_argIchrFIIn,_argIchrInstDeclSq,_argIgathClDfGam,arg_6) | True -> (case (func_5 _funcOdataGam) of { ( _funcIchrClassDeclSq,_funcIchrFIIn,_funcIchrInstDeclSq,_funcIgathClDfGam,func_6) | True -> (case (_funcIchrInstDeclSq `Seq.union` _argIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_AppImpred_6 :: T_Expr_6 sem_Expr_AppImpred_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _argOvalTyGlobFreeTvarS | _argOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _argOvalGam | _argOvalGam `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _funcOvalTyGlobFreeTvarS | _funcOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _funcOvalGam | _funcOvalGam `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 (__tup139) of { (_,_lUniq,_,_) | _lUniq `seq` (True) -> (case (let [i,a] = mkNewUIDL 2 _lUniq im = mkImplsVar i at = mkTyVar a in ([im,at] `appArr` _lhsIknTy,im,at)) of { __tup137 | __tup137 `seq` (True) -> (case (__tup137) of { (_knFunTy,_,_) | _knFunTy `seq` (True) -> (case (_knFunTy) of { _funcOknTy | _funcOknTy `seq` (True) -> (case (strongFIOpts) of { _funcOfiOpts | _funcOfiOpts `seq` (True) -> (case (func_6 _funcOchrStore _funcOclDfGam _funcOfiOpts _funcOknTy _funcOtvKiVarMp _funcOtyTyGlobFreeTvarS _funcOtyVarMp _funcOvalGam _funcOvalTyGlobFreeTvarS) of { ( _funcIgathCnstrMp,_funcIgathRangeMp,_funcIgathValGam,_funcInoLetQuantTyVarIdS,_funcIty,_funcItyVarMp,func_7) | 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 (__tup137) of { (_,_,_argTy) | _argTy `seq` (True) -> (case (_argTy) of { _argOknTy | _argOknTy `seq` (True) -> (case (strongFIOpts) of { _argFIOpts | _argFIOpts `seq` (True) -> (case (_argFIOpts) of { _argOfiOpts | _argOfiOpts `seq` (True) -> (case (arg_6 _argOchrStore _argOclDfGam _argOfiOpts _argOknTy _argOtvKiVarMp _argOtyTyGlobFreeTvarS _argOtyVarMp _argOvalGam _argOvalTyGlobFreeTvarS) of { ( _argIgathCnstrMp,_argIgathRangeMp,_argIgathValGam,_argInoLetQuantTyVarIdS,_argIty,_argItyVarMp,arg_7) | True -> (case (_funcIgathCnstrMp `cnstrMpUnion` _argIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_funcIgathRangeMp `Map.union` _argIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_funcInoLetQuantTyVarIdS `Set.union` _argInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_lhsIknTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (__tup139) of { (_,_,_lUniq3,_) | _lUniq3 `seq` (True) -> (case (__tup137) of { (_,_imTy,_) | _imTy `seq` (True) -> (case (implsPredsTailWithLkup (varmpImplsLookupCyc2 _argItyVarMp) _lhsIpredScope $ tyImplsWithLkup (varmpTyLookupCyc2 _argItyVarMp) _imTy) of { __tup138 | __tup138 `seq` (True) -> (case (__tup138) of { (_,_implsTl) | _implsTl `seq` (True) -> (case (mkImplsProveOcc _lUniq3 _lhsIpredScope) of { _imPrvOcc | _imPrvOcc `seq` (True) -> (case (varmpTailAddOcc _imPrvOcc _implsTl) of { __tup133 | __tup133 `seq` (True) -> (case (__tup133) of { (_,_prvOccTlVarMp) | _prvOccTlVarMp `seq` (True) -> (case (_prvOccTlVarMp `varUpd` _argItyVarMp) of { _tyVarMpApp | _tyVarMpApp `seq` (True) -> (case (_tyVarMpApp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_AppImpred_7 :: T_Expr_7 sem_Expr_AppImpred_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (_lhsItr) of { _argOtr | _argOtr `seq` (True) -> (case (_lhsImoduleNm) of { _argOmoduleNm | _argOmoduleNm `seq` (True) -> (case (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _argOexprCtxt | _argOexprCtxt `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 (_lhsItr) of { _funcOtr | _funcOtr `seq` (True) -> (case (_lhsImoduleNm) of { _funcOmoduleNm | _funcOmoduleNm `seq` (True) -> (case (_exprCtxt) of { _funcOexprCtxt | _funcOexprCtxt `seq` (True) -> (case (func_7 _funcOcSubst _funcOchrEvidBindMp _funcOchrScopeBindMp _funcOexprCtxt _funcOfinTyVarMp _funcOfinValGam _funcOmoduleNm _funcOrangeMp _funcOsysfEnv _funcOtr) of { ( _funcIallErrSq,_funcIappArgCoeL,_funcIappArgPPL,_funcIappFunCExpr,_funcIappFunNm,_funcIappFunPP,_funcIbackCBindL,_funcIcSubst,_funcIcaseFailS,_funcIcexpr,_funcIerrSq,_funcIfrontCBindL,_funcIfuCExprL,_funcIgathClGam,_funcIgathHiddenExports,_funcIgathKiGam,_funcIgathLamMp,_funcIgathMentrelFilterMp,_funcIgathPolGam,_funcIgathTvKiVarMp,_funcIgathTyGam,_funcIgathTyKiGam,_funcIisNewtype,_funcIlamArgPPL,_funcIlamBodyPP,_funcIletCBody,_funcIletTyCBindL,_funcIletValCBindL,_funcIletValMainCBindL,_funcIorphanS,_funcIpp,_funcIppAST,_funcItrpp) | True -> (case (_funcIcSubst) of { _argOcSubst | _argOcSubst `seq` (True) -> (case (arg_7 _argOcSubst _argOchrEvidBindMp _argOchrScopeBindMp _argOexprCtxt _argOfinTyVarMp _argOfinValGam _argOmoduleNm _argOrangeMp _argOsysfEnv _argOtr) of { ( _argIallErrSq,_argIappArgCoeL,_argIappArgPPL,_argIappFunCExpr,_argIappFunNm,_argIappFunPP,_argIbackCBindL,_argIcSubst,_argIcaseFailS,_argIcexpr,_argIerrSq,_argIfrontCBindL,_argIfuCExprL,_argIgathClGam,_argIgathHiddenExports,_argIgathKiGam,_argIgathLamMp,_argIgathMentrelFilterMp,_argIgathPolGam,_argIgathTvKiVarMp,_argIgathTyGam,_argIgathTyKiGam,_argIisNewtype,_argIlamArgPPL,_argIlamBodyPP,_argIletCBody,_argIletTyCBindL,_argIletValCBindL,_argIletValMainCBindL,_argIorphanS,_argIpp,_argIppAST,_argItrpp) | True -> (case (_funcIallErrSq `Seq.union` _argIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case (__tup138) of { (_prOccL,_) | _prOccL `seq` (True) -> (case ((acoreCoePoiLApp $ map poPoi _prOccL) ++ [Coe_ImplApp $ ipoId _imPrvOcc]) of { _appImplsCoeL | _appImplsCoeL `seq` (True) -> (case (if _funcIisNewtype then ([],_argIcexpr) else (_funcIappArgCoeL ++ _appImplsCoeL ++ [acoreCoeApp1 _argIcexpr],_funcIappFunCExpr)) of { __tup135 | __tup135 `seq` (True) -> (case (__tup135) of { (_lhsOappArgCoeL,_) | _lhsOappArgCoeL `seq` (True) -> (case ("~" >|< _argIpp) of { _argPP | _argPP `seq` (True) -> (case (_funcIappArgPPL ++ [_argPP]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup135) of { (_,_lhsOappFunCExpr) | _lhsOappFunCExpr `seq` (True) -> (case (_funcIappFunNm) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_funcIappFunPP) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup139) of { (_,_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (let mkapp f = wr $ acore1App f _argIcexpr wr = id impl app= mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _argIcSubst app _funcIcexpr _appImplsCoeL [] in impl mkapp) of { __tup134 | __tup134 `seq` (True) -> (case (__tup134) of { (_,_cexprappCSubst) | _cexprappCSubst `seq` (True) -> (case (cSubstApp _argIcSubst _cexprappCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_funcIcaseFailS `Set.union` _argIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (__tup134) of { (_cexprapp,_) | _cexprapp `seq` (True) -> (case (if _funcIisNewtype then _argIcexpr else _cexprapp) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (_funcIerrSq `Seq.union` _argIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_funcIgathHiddenExports `Seq.union` _argIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_funcIgathLamMp `lamMpUnionBindAspMp` _argIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_funcIgathMentrelFilterMp `mentrelFilterMpUnion` _argIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_funcIgathTvKiVarMp `varmpUnion` _argIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_funcIpp >#< _argPP) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","AppImpred"] [] [_funcIppAST,_argIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_funcItrpp >< _argItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_AppImpred_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_AppImpred_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_AppImpred_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_Expr_AppImpred_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_AppImpred_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_AppImpred_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }))) in sem_Expr_AppImpred_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_SConst :: Range -> String -> T_Expr sem_Expr_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_Expr_SConst_1 :: T_Expr_1 sem_Expr_SConst_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_cexpr)}} )) of { __tup141 | __tup141 `seq` (True) -> (case (__tup141) of { (_lhsOgUniq,_,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_SConst_2 :: T_Expr_2 sem_Expr_SConst_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_SConst_3 :: T_Expr_3 sem_Expr_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 ((let sem_Expr_SConst_4 :: T_Expr_4 sem_Expr_SConst_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_SConst_5 :: T_Expr_5 sem_Expr_SConst_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_SConst_6 :: T_Expr_6 sem_Expr_SConst_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (__tup141) of { (_,_lUniq,_) | _lUniq `seq` (True) -> (case (tyString _lhsIopts) of { _constTy | _constTy `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.?Const.loc.fo_" $ fitsIn _lhsIfiOpts _fe _lUniq _lhsItyVarMp _constTy _lhsIknTy) of { _fo_ | _fo_ `seq` (True) -> (case (foTy _fo_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _tyVarMp | _tyVarMp `seq` (True) -> (case (_tyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_SConst_7 :: T_Expr_7 sem_Expr_SConst_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup141) of { (_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (acoreBuiltinString _lhsIopts str_) of { _cexprBase | _cexprBase `seq` (True) -> (case (foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _lhsIcSubst $ _cexprBase) of { __tup140 | __tup140 `seq` (True) -> (case (__tup140) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `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 ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup140) of { (_,_cexprCSubst) | _cexprCSubst `seq` (True) -> (case (cSubstApp _lhsIcSubst _cexprCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (rngLift _range mkNestErr' _pp [foErrSq _fo_]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","SConst"] [_pp] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_SConst_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_SConst_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_SConst_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_SConst_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_SConst_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_SConst_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_SConst_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_Case :: Range -> T_Expr -> T_CaseAlts -> (Maybe UIDS) -> UIDS -> Bool -> T_Expr sem_Expr_Case hsrange_ expr_ alts_ mbCaseIds_ caseFailS_ isTupOfArg_ | hsrange_ `seq` (expr_ `seq` (alts_ `seq` (mbCaseIds_ `seq` (caseFailS_ `seq` (isTupOfArg_ `seq` (True)))))) = (case (alts_) of { ( _altsIrange,alts_1) | True -> (case (expr_) of { ( _exprIrange,expr_1) | True -> (case (rangeUnions [hsrange_, _exprIrange , _altsIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_Case_1 :: T_Expr_1 sem_Expr_Case_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq2) -> (__cont,lUniq2)} )) of { __tup142 | __tup142 `seq` (True) -> (case (__tup142) of { (_exprOgUniq,_) | _exprOgUniq `seq` (True) -> (case (expr_1 _exprOgUniq) of { ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True -> (case (_exprIgUniq) of { _altsOgUniq | _altsOgUniq `seq` (True) -> (case (alts_1 _altsOgUniq) of { ( _altsIgUniq,alts_2) | True -> (case (_altsIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Case_2 :: T_Expr_2 sem_Expr_Case_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _exprOisFirstLet | _exprOisFirstLet `seq` (True) -> (case (expr_2 _exprOisFirstLet _exprOkiGam _exprOlexLev _exprOpredSameScopeCounter) of { ( _exprIpredSameScopeCounter,expr_3) | True -> (case (_exprIpredSameScopeCounter) of { _altsOpredSameScopeCounter | _altsOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _altsOlexLev | _altsOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _altsOkiGam | _altsOkiGam `seq` (True) -> (case (alts_2 _altsOkiGam _altsOlexLev _altsOpredSameScopeCounter) of { ( _altsIpredSameScopeCounter,alts_3) | True -> (case (_altsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_Case_3 :: T_Expr_3 sem_Expr_Case_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 { _altsOtyKiGlobFreeTvarS | _altsOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _altsOtyKiGam | _altsOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _altsOtyGam | _altsOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _altsOpredScope | _altsOpredScope `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _exprOtyKiGlobFreeTvarS | _exprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _exprOtyKiGam | _exprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _exprOtyGam | _exprOtyGam `seq` (True) -> (case (_predScope) 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 (_exprIpolVarMp) of { _altsOpolVarMp | _altsOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _altsOpolGam | _altsOpolGam `seq` (True) -> (case (_lhsIopts) of { _altsOopts | _altsOopts `seq` (True) -> (case (_exprIkiVarMp) of { _altsOkiVarMp | _altsOkiVarMp `seq` (True) -> (case (_exprIgenerDataInfoMp) of { _altsOgenerDataInfoMp | _altsOgenerDataInfoMp `seq` (True) -> (case (alts_3 _altsOgenerDataInfoMp _altsOkiVarMp _altsOopts _altsOpolGam _altsOpolVarMp _altsOpredScope _altsOtyGam _altsOtyKiGam _altsOtyKiGlobFreeTvarS) of { ( _altsIgenerDataInfoMp,_altsIkiVarMp,_altsIpolVarMp,alts_4) | True -> (case (_altsIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_altsIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_altsIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case ((let sem_Expr_Case_4 :: T_Expr_4 sem_Expr_Case_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _exprOgathDataGam | _exprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _exprOclGam | _exprOclGam `seq` (True) -> (case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of { ( _exprIgathDataGam,expr_5) | True -> (case (_exprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Case_5 :: T_Expr_5 sem_Expr_Case_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _altsOtyTyTySigFreeTvarS | _altsOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIfinTyKiGam) of { _altsOfinTyKiGam | _altsOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _altsOfinKiVarMp | _altsOfinKiVarMp `seq` (True) -> (case (_lhsIdataGam) of { _altsOdataGam | _altsOdataGam `seq` (True) -> (case (_lhsIclGam) of { _altsOclGam | _altsOclGam `seq` (True) -> (case (_lhsIdataGam) of { _exprOdataGam | _exprOdataGam `seq` (True) -> (case (alts_4 _altsOclGam _altsOdataGam _altsOfinKiVarMp _altsOfinTyKiGam _altsOtyTyTySigFreeTvarS) of { ( _altsIchrInstDeclSq,alts_5) | True -> (case (expr_5 _exprOdataGam) of { ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True -> (case (_exprIchrInstDeclSq `Seq.union` _altsIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Case_6 :: T_Expr_6 sem_Expr_Case_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIknTy) of { _altsOknTy | _altsOknTy `seq` (True) -> (case (_lhsIvalGam) of { _altsOvalGam | _altsOvalGam `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _exprOvalTyGlobFreeTvarS | _exprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _exprOvalGam | _exprOvalGam `seq` (True) -> (case (_lhsItyVarMp) of { _exprOtyVarMp | _exprOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _exprOtyTyGlobFreeTvarS | _exprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _exprOtvKiVarMp | _exprOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _exprOclDfGam | _exprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _exprOchrStore | _exprOchrStore `seq` (True) -> (case (__tup142) of { (_,_lUniq2) | _lUniq2 `seq` (True) -> (case ((if isTupOfArg_ then strongFIOpts else weakFIOpts)) of { _exprFiOpts | _exprFiOpts `seq` (True) -> (case (_exprFiOpts) of { _exprOfiOpts | _exprOfiOpts `seq` (True) -> (case (mkTyVar _lUniq2) of { _exprOknTy | _exprOknTy `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 (_exprItyVarMp) of { _altsOpatTyVarMp | _altsOpatTyVarMp `seq` (True) -> (case (_exprIty) of { _altsOknPatTy | _altsOknPatTy `seq` (True) -> (case (alts_5 _altsOknPatTy _altsOknTy _altsOpatTyVarMp _altsOvalGam) of { ( _altsIpatTyVarMp,_altsIty,alts_6) | True -> (case (_lhsIvalTyGlobFreeTvarS) of { _altsOvalTyGlobFreeTvarS | _altsOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _altsOtyTyGlobFreeTvarS | _altsOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _altsOtvKiVarMp | _altsOtvKiVarMp `seq` (True) -> (case (_lhsIclDfGam) of { _altsOclDfGam | _altsOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _altsOchrStore | _altsOchrStore `seq` (True) -> (case (_lhsIfiOpts { fioBindRFirst = False }) of { _altsFiOpts | _altsFiOpts `seq` (True) -> (case (_altsFiOpts) of { _altsOfiOpts | _altsOfiOpts `seq` (True) -> (case (_altsIpatTyVarMp) of { _altsOtyVarMp | _altsOtyVarMp `seq` (True) -> (case (alts_6 _altsOchrStore _altsOclDfGam _altsOfiOpts _altsOtvKiVarMp _altsOtyTyGlobFreeTvarS _altsOtyVarMp _altsOvalTyGlobFreeTvarS) of { ( _altsIgathCnstrMp,_altsIgathRangeMp,_altsItyVarMp,alts_7) | True -> (case (_exprIgathCnstrMp `cnstrMpUnion` _altsIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_exprIgathRangeMp `Map.union` _altsIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_exprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_altsIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_altsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Case_7 :: T_Expr_7 sem_Expr_Case_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (_lhsIsysfEnv) of { _altsOsysfEnv | _altsOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _altsOrangeMp | _altsOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _altsOfinValGam | _altsOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _altsOfinTyVarMp | _altsOfinTyVarMp `seq` (True) -> (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 { _altsOtr | _altsOtr `seq` (True) -> (case (_lhsImoduleNm) of { _altsOmoduleNm | _altsOmoduleNm `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _altsOchrScopeBindMp | _altsOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _altsOchrEvidBindMp | _altsOchrEvidBindMp `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _exprOcSubst | _exprOcSubst `seq` (True) -> (case (_lhsItr) of { _exprOtr | _exprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _exprOmoduleNm | _exprOmoduleNm `seq` (True) -> (case (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) 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 (_exprIcSubst) of { _altsOcSubst | _altsOcSubst `seq` (True) -> (case (alts_7 _altsOcSubst _altsOchrEvidBindMp _altsOchrScopeBindMp _altsOfinTyVarMp _altsOfinValGam _altsOmoduleNm _altsOrangeMp _altsOsysfEnv _altsOtr) of { ( _altsIallErrSq,_altsIcSubst,_altsIerrSq,_altsIgathMentrelFilterMp,_altsIgathTvKiVarMp,_altsIpatTy,_altsIpp,_altsIppAST,_altsIppL,_altsIraltL,_altsIraltL',_altsItrpp) | True -> (case (_exprIallErrSq `Seq.union` _altsIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (maybe (Set.singleton uidStart) id mbCaseIds_) of { _caseIds | _caseIds `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp , rceCaseIds = _caseIds }) of { _rceEnv | _rceEnv `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _exprIty) of { _finalTyExpr | _finalTyExpr `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTyExpr) of { _finalTyExprExpanded | _finalTyExprExpanded `seq` (True) -> (case ((appDbg "{Expr,PatExpr,Decl,DataFieldExpr}.sysfty not implemented" :: SysfTy)) of { _sysfty | _sysfty `seq` (True) -> (case (mkCTy _lhsIopts _finalTyExprExpanded _sysfty) of { _acorety | _acorety `seq` (True) -> (case (let (ns,bs,as) = if isTupOfArg_ then let ns = [ acbrefNm ref | (CExpr_Var ref) <- fuL2ExprL (reverse _exprIfuCExprL) ] in (zip ns (tyProdArgs _finalTyExprExpanded),[],_altsIraltL') else let n = uidHNm _lUniq2 in ([(n,_finalTyExprExpanded)],[acoreBind1Ty n _acorety _exprIcexpr],_altsIraltL) in acoreLet CBindCateg_Plain bs (rceMatchTy _rceEnv (assocLMapElt (SysF.ty2TyC _lhsIopts _lhsIsysfEnv) ns) as)) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (let pps e s = ppCmt $ e >#< (ppCommas' $ Set.toList s) in maybe empty (\s -> pps "mbCaseIds" s) mbCaseIds_ >|< (if Set.null caseFailS_ then empty else pps "caseFailS" caseFailS_)) of { _extraPP | _extraPP `seq` (True) -> (case ("case" >#< _exprIpp >#< "of" >-< indent 2 (vlist _altsIppL) >-< _extraPP) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_altsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (caseFailS_) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (_exprIerrSq `Seq.union` _altsIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_exprIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_exprIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_exprIgathMentrelFilterMp `mentrelFilterMpUnion` _altsIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_exprIgathTvKiVarMp `varmpUnion` _altsIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Case"] [] [_exprIppAST,_altsIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_exprItrpp >< _altsItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Case_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Case_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_Case_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_Case_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Case_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_Case_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }))) in sem_Expr_Case_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_DataFields :: Range -> T_DataFieldExpr -> T_Expr sem_Expr_DataFields hsrange_ dataFieldExpr_ | hsrange_ `seq` (dataFieldExpr_ `seq` (True)) = (case (dataFieldExpr_) of { ( _dataFieldExprIrange,dataFieldExpr_1) | True -> (case (rangeUnions [hsrange_, _dataFieldExprIrange , _dataFieldExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_DataFields_1 :: T_Expr_1 sem_Expr_DataFields_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup145 | __tup145 `seq` (True) -> (case (__tup145) of { (_dataFieldExprOgUniq,_) | _dataFieldExprOgUniq `seq` (True) -> (case (dataFieldExpr_1 _dataFieldExprOgUniq) of { ( _dataFieldExprIgUniq,dataFieldExpr_2) | True -> (case (_dataFieldExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_DataFields_2 :: T_Expr_2 sem_Expr_DataFields_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _dataFieldExprOpredSameScopeCounter | _dataFieldExprOpredSameScopeCounter `seq` (True) -> (case (_lhsIlexLev) of { _dataFieldExprOlexLev | _dataFieldExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _dataFieldExprOkiGam | _dataFieldExprOkiGam `seq` (True) -> (case (dataFieldExpr_2 _dataFieldExprOkiGam _dataFieldExprOlexLev _dataFieldExprOpredSameScopeCounter) of { ( _dataFieldExprIpredSameScopeCounter,dataFieldExpr_3) | True -> (case (_dataFieldExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_DataFields_3 :: T_Expr_3 sem_Expr_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 { _dataFieldExprOtyKiGlobFreeTvarS | _dataFieldExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _dataFieldExprOtyKiGam | _dataFieldExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _dataFieldExprOtyGam | _dataFieldExprOtyGam `seq` (True) -> (case (_lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _dataFieldExprOpredScope | _dataFieldExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _dataFieldExprOpolVarMp | _dataFieldExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _dataFieldExprOpolGam | _dataFieldExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _dataFieldExprOopts | _dataFieldExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _dataFieldExprOkiVarMp | _dataFieldExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _dataFieldExprOgenerDataInfoMp | _dataFieldExprOgenerDataInfoMp `seq` (True) -> (case (dataFieldExpr_3 _dataFieldExprOgenerDataInfoMp _dataFieldExprOkiVarMp _dataFieldExprOopts _dataFieldExprOpolGam _dataFieldExprOpolVarMp _dataFieldExprOpredScope _dataFieldExprOtyGam _dataFieldExprOtyKiGam _dataFieldExprOtyKiGlobFreeTvarS) of { ( _dataFieldExprIgenerDataInfoMp,_dataFieldExprIkiVarMp,_dataFieldExprIpolVarMp,dataFieldExpr_4) | True -> (case (_dataFieldExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_dataFieldExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_dataFieldExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case ((let sem_Expr_DataFields_4 :: T_Expr_4 sem_Expr_DataFields_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _dataFieldExprOtyTyTySigFreeTvarS | _dataFieldExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _dataFieldExprOgathDataGam | _dataFieldExprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _dataFieldExprOfinTyKiGam | _dataFieldExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _dataFieldExprOfinKiVarMp | _dataFieldExprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _dataFieldExprOclGam | _dataFieldExprOclGam `seq` (True) -> (case (dataFieldExpr_4 _dataFieldExprOclGam _dataFieldExprOfinKiVarMp _dataFieldExprOfinTyKiGam _dataFieldExprOgathDataGam _dataFieldExprOtyTyTySigFreeTvarS) of { ( _dataFieldExprIgathDataGam,dataFieldExpr_5) | True -> (case (_dataFieldExprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_DataFields_5 :: T_Expr_5 sem_Expr_DataFields_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _dataFieldExprOdataGam | _dataFieldExprOdataGam `seq` (True) -> (case (dataFieldExpr_5 _dataFieldExprOdataGam) of { ( _dataFieldExprIchrInstDeclSq,dataFieldExpr_6) | True -> (case (_dataFieldExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_DataFields_6 :: T_Expr_6 sem_Expr_DataFields_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _dataFieldExprOvalTyGlobFreeTvarS | _dataFieldExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _dataFieldExprOvalGam | _dataFieldExprOvalGam `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _dataFieldExprOtyTyGlobFreeTvarS | _dataFieldExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _dataFieldExprOtvKiVarMp | _dataFieldExprOtvKiVarMp `seq` (True) -> (case (strongFIOpts) of { _fldFIOpts | _fldFIOpts `seq` (True) -> (case (_fldFIOpts) of { _dataFieldExprOfldFIOpts | _dataFieldExprOfldFIOpts `seq` (True) -> (case (_lhsIfiOpts) of { _dataFieldExprOfiOpts | _dataFieldExprOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _dataFieldExprOclDfGam | _dataFieldExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _dataFieldExprOchrStore | _dataFieldExprOchrStore `seq` (True) -> (case (__tup145) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (_lhsItyVarMp) of { _dataFieldExprOupdExprTyVarMp | _dataFieldExprOupdExprTyVarMp `seq` (True) -> (case (dataFieldExpr_6 _dataFieldExprOchrStore _dataFieldExprOclDfGam _dataFieldExprOfiOpts _dataFieldExprOtvKiVarMp _dataFieldExprOtyTyGlobFreeTvarS _dataFieldExprOupdExprTyVarMp _dataFieldExprOvalGam _dataFieldExprOvalTyGlobFreeTvarS) of { ( _dataFieldExprIfldL,_dataFieldExprImbConNm,_dataFieldExprIupdExprTy,_dataFieldExprIupdExprTyVarMp,dataFieldExpr_7) | True -> (case (sortBy rowLabCmp _dataFieldExprIfldL) of { _fldL | _fldL `seq` (True) -> (case (let dgiOf t = maybe emptyDataGamInfo id $ dataGamDgiOfTy t _lhsIdataGam in case (_dataFieldExprImbConNm,_fldL) of (Just c,_) -> dgiOf t where (_,t,_) = valGamTyOfDataCon c _lhsIvalGam (_,(f:_)) -> dgiOf t where (_,t,_) = valGamTyOfDataFld f _lhsIvalGam _ -> panic "Expr.DataFields.dgi") of { _dgi | _dgi `seq` (True) -> (case (Map.elems $ dgiConstrTagMp _dgi) of { _dtiL | _dtiL `seq` (True) -> (case (Set.fromList _fldL) of { _fldS | _fldS `seq` (True) -> (case (case _dataFieldExprImbConNm of Just _ -> (_lhsIknTy,_lhsItyVarMp,[],[]) _ -> (t,c,e,foL) where (t,_,c,e,foL,_) = foldr (\fldNm (knTy,updExprTy,tyVarMp,errL,foL,u) -> let (u',u1,u2) = mkNewLevUID2 u (_,knDTy,knFTy,fo1,e1) = dfCheck u1 _lhsIfiOpts _fe fldNm _lhsIvalGam tyVarMp knTy tyVarMp' = foVarMp fo1 `varUpd` tyVarMp (gTy,nmErrs) = valGamLookupTy fldNm _lhsIvalGam fo2 = fitsIn _fldFIOpts _fe u2 tyVarMp' gTy ([updExprTy] `appArr` knFTy) in (knDTy, updExprTy, foVarMp fo2 `varUpd` tyVarMp', foErrL fo2 ++ foErrL fo1 ++ e1 ++ nmErrs ++ errL, fo1:fo2:foL, u') ) (_lhsIknTy,_dataFieldExprIupdExprTy,_dataFieldExprIupdExprTyVarMp,[],[],_lUniq) (Set.toList $ Set.unions [ Map.keysSet (dtiFldMp i) | i <- _dtiL ] `Set.difference` _fldS)) of { __tup144 | __tup144 `seq` (True) -> (case (__tup144) of { (_,_dataFieldExprOtyVarMp,_,_) | _dataFieldExprOtyVarMp `seq` (True) -> (case (__tup144) of { (_dataFieldExprOknTy,_,_,_) | _dataFieldExprOknTy `seq` (True) -> (case (dataFieldExpr_7 _dataFieldExprOfldFIOpts _dataFieldExprOknTy _dataFieldExprOtyVarMp) of { ( _dataFieldExprIgathCnstrMp,_dataFieldExprIgathRangeMp,_dataFieldExprInoLetQuantTyVarIdS,_dataFieldExprIty,_dataFieldExprItyVarMp,dataFieldExpr_8) | True -> (case (_dataFieldExprIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_dataFieldExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_dataFieldExprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_dataFieldExprIty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_dataFieldExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_DataFields_7 :: T_Expr_7 sem_Expr_DataFields_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (_lhsIsysfEnv) of { _dataFieldExprOsysfEnv | _dataFieldExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _dataFieldExprOrangeMp | _dataFieldExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _dataFieldExprOfinValGam | _dataFieldExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _dataFieldExprOfinTyVarMp | _dataFieldExprOfinTyVarMp `seq` (True) -> (case (_lhsItr) of { _dataFieldExprOtr | _dataFieldExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _dataFieldExprOmoduleNm | _dataFieldExprOmoduleNm `seq` (True) -> (case (_dgi) of { _dataFieldExprOdgi | _dataFieldExprOdgi `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _dataFieldExprOchrScopeBindMp | _dataFieldExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _dataFieldExprOchrEvidBindMp | _dataFieldExprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _dataFieldExprOcSubst | _dataFieldExprOcSubst `seq` (True) -> (case (dataFieldExpr_8 _dataFieldExprOcSubst _dataFieldExprOchrEvidBindMp _dataFieldExprOchrScopeBindMp _dataFieldExprOdgi _dataFieldExprOfinTyVarMp _dataFieldExprOfinValGam _dataFieldExprOmoduleNm _dataFieldExprOrangeMp _dataFieldExprOsysfEnv _dataFieldExprOtr) of { ( _dataFieldExprIallErrSq,_dataFieldExprIcSubst,_dataFieldExprIdfeCBindL,_dataFieldExprIdfeCExpr,_dataFieldExprIerrSq,_dataFieldExprIfuCExprL,_dataFieldExprIgathMentrelFilterMp,_dataFieldExprIgathTvKiVarMp,_dataFieldExprImbDti,_dataFieldExprIpp,_dataFieldExprIppAST,_dataFieldExprIppL,_dataFieldExprItrpp) | True -> (case (_dataFieldExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (partition (\i -> _fldS `Set.isSubsetOf` Map.keysSet (dtiFldMp i)) $ _dtiL) of { __tup143 | __tup143 `seq` (True) -> (case (__tup143) of { (_dtiInFldL,_) | _dtiInFldL `seq` (True) -> (case (let mkTup dti mkDflt con = foldl acore1App con . fuL2ExprL . listSaturateWith 0 (ctagArity (dtiCTag dti) - 1) (\(_,(_,Just o)) -> o) dflt . fuMap (\l mke -> let o = fldInt $ dtiOffsetOfFld l dti in (mke dti o,o)) where dflt = [ (o,(f,(CExpr_TupIns (acoreBuiltinUndefined _lhsIopts) (dtiCTag dti) f (acoreInt _lhsIopts o) (mkDflt f),Just o))) | (f,i) <- Map.toList $ dtiFldMp dti, let o = fldInt $ dfiOffset i ] in if dgiIsNewtype _dgi then acoreLet CBindCateg_Plain _dataFieldExprIdfeCBindL $ head $ fuL2ExprL $ fuMap (\_ f -> (f emptyDataTagInfo 0,0)) $ _dataFieldExprIfuCExprL else case _dataFieldExprImbConNm of Just conNm -> acoreLet CBindCateg_Plain _dataFieldExprIdfeCBindL (mkTup (dgiDtiOfCon conNm _dgi) (const $ acoreBuiltinUndefined _lhsIopts) _dataFieldExprIdfeCExpr _dataFieldExprIfuCExprL) _ -> acoreLet CBindCateg_Plain (err ++ _dataFieldExprIdfeCBindL) (acoreSatSelsCasesTy (rceUpdEnv (acoreVar en) _rceEnv) (Just (mkHNm _lUniq,(acoreTyErr $ "EH.ToCore.Expr.DataFields: " ++ show (mkHNm _lUniq)))) _dataFieldExprIdfeCExpr alts) where alts = [ ( dtiCTag dti , [ (f,acoreTyErr $ "EH.Expr.DataFields.dfexpr: " ++ show f, fldInt $ dfiOffset i) | (f,i) <- Map.toList $ dtiFldMp dti ] , Nothing , mkTup dti acoreVar (CExpr_Tup $ dtiCTag dti) _dataFieldExprIfuCExprL ) | dti <- _dtiInFldL ] err = [acoreBind1Ty en (acoreTyErr $ "EH.ToCore.Expr.DataFields.en: " ++ show en) (acoreBuiltinError _lhsIopts ("has no field update '" ++ show _fldL ++ "'"))] en = mkHNm "_upd_error") of { _dfexpr | _dfexpr `seq` (True) -> (case (_dfexpr) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_dataFieldExprIpp >#< ppCurlysCommas' (reverse _dataFieldExprIppL)) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_dataFieldExprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (__tup144) of { (_,_,_dfErrs,_) | _dfErrs `seq` (True) -> (case (let fs = [ f | (f:_:_) <- group _fldL ] in if null fs then [] else [rngLift _range Err_DuplicateDataFields fs]) of { _fldDupErrs | _fldDupErrs `seq` (True) -> (case (case _dataFieldExprImbDti of Just dti | not (Set.null m) -> [rngLift _range Err_MissingDataFields (Set.toList m) (dtiConNm dti)] where m = Map.keysSet (dtiFldMp dti) `Set.difference` Set.fromList _fldL _ | null _dtiInFldL -> [rngLift _range Err_MissingAnyDataField _fldL (dgiTyNm _dgi)] | otherwise -> []) of { _fldMissErrs | _fldMissErrs `seq` (True) -> (case (rngLift _range mkNestErr' _pp [ _dataFieldExprIerrSq , Seq.fromList _fldMissErrs, Seq.fromList _fldDupErrs, Seq.fromList _dfErrs ]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_dataFieldExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_dataFieldExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","DataFields"] [] [_dataFieldExprIppAST] _trppHere) of { _ppAST | _ppAST `seq` (True) -> (case (_ppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_dataFieldExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_DataFields_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_DataFields_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }))) in sem_Expr_DataFields_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_DataFields_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_DataFields_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) })))))) in sem_Expr_DataFields_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }))) in sem_Expr_DataFields_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) sem_Expr_Rec :: Range -> T_RecExpr -> T_Expr sem_Expr_Rec hsrange_ recExpr_ | hsrange_ `seq` (recExpr_ `seq` (True)) = (case (recExpr_) of { ( _recExprIrange,recExpr_1) | True -> (case (rangeUnions [hsrange_, _recExprIrange, _recExprIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_Rec_1 :: T_Expr_1 sem_Expr_Rec_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq3) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> case nextUnique __cont of { (__cont, lUniq_fit) -> case nextUnique __cont of { (__cont, lUniq_freshKnTy) -> (__cont,lUniq2,lUniq3,lUniq_cexpr,lUniq_fit,lUniq_freshKnTy)}}}}} )) of { __tup151 | __tup151 `seq` (True) -> (case (__tup151) of { (_recExprOgUniq,_,_,_,_,_) | _recExprOgUniq `seq` (True) -> (case (recExpr_1 _recExprOgUniq) of { ( _recExprIgUniq,recExpr_2) | True -> (case (_recExprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Rec_2 :: T_Expr_2 sem_Expr_Rec_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIlexLev) of { _recExprOlexLev | _recExprOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _recExprOkiGam | _recExprOkiGam `seq` (True) -> (case (False) of { _mustEnterNewPredScope | _mustEnterNewPredScope `seq` (True) -> (case (pscpEnter' _mustEnterNewPredScope _lhsIpredSameScopeCounter) of { __tup147 | __tup147 `seq` (True) -> (case (__tup147) of { (_,_recExprOpredSameScopeCounter) | _recExprOpredSameScopeCounter `seq` (True) -> (case (__tup147) of { (_predSameScopeCounterTop,_) | _predSameScopeCounterTop `seq` (True) -> (case (recExpr_2 _recExprOkiGam _recExprOlexLev _recExprOpredSameScopeCounter) of { ( _recExprIpredSameScopeCounter,recExpr_3) | True -> (case (pscpLeave' _mustEnterNewPredScope _predSameScopeCounterTop _recExprIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_Rec_3 :: T_Expr_3 sem_Expr_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 { _recExprOtyKiGlobFreeTvarS | _recExprOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _recExprOtyKiGam | _recExprOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _recExprOtyGam | _recExprOtyGam `seq` (True) -> (case (pscpMk' _mustEnterNewPredScope _lhsIpredSameScopeCounter _lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _recExprOpredScope | _recExprOpredScope `seq` (True) -> (case (_lhsIpolVarMp) of { _recExprOpolVarMp | _recExprOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _recExprOpolGam | _recExprOpolGam `seq` (True) -> (case (_lhsIopts) of { _recExprOopts | _recExprOopts `seq` (True) -> (case (_lhsIkiVarMp) of { _recExprOkiVarMp | _recExprOkiVarMp `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _recExprOgenerDataInfoMp | _recExprOgenerDataInfoMp `seq` (True) -> (case (recExpr_3 _recExprOgenerDataInfoMp _recExprOkiVarMp _recExprOopts _recExprOpolGam _recExprOpolVarMp _recExprOpredScope _recExprOtyGam _recExprOtyKiGam _recExprOtyKiGlobFreeTvarS) of { ( _recExprIgenerDataInfoMp,_recExprIkiVarMp,_recExprIpolVarMp,recExpr_4) | True -> (case (_recExprIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_recExprIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_recExprIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case ((let sem_Expr_Rec_4 :: T_Expr_4 sem_Expr_Rec_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _recExprOtyTyTySigFreeTvarS | _recExprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _recExprOgathDataGam | _recExprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _recExprOfinTyKiGam | _recExprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _recExprOfinKiVarMp | _recExprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _recExprOclGam | _recExprOclGam `seq` (True) -> (case (recExpr_4 _recExprOclGam _recExprOfinKiVarMp _recExprOfinTyKiGam _recExprOgathDataGam _recExprOtyTyTySigFreeTvarS) of { ( _recExprIgathDataGam,recExpr_5) | True -> (case (_recExprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Rec_5 :: T_Expr_5 sem_Expr_Rec_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _predScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _recExprOdataGam | _recExprOdataGam `seq` (True) -> (case (positionalFldNames) of { _recExprOpositionalFldNmL | _recExprOpositionalFldNmL `seq` (True) -> (case (recExpr_5 _recExprOdataGam _recExprOpositionalFldNmL) of { ( _recExprIchrInstDeclSq,_recExprIpositionalFldNmL,recExpr_6) | True -> (case (_recExprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Rec_6 :: T_Expr_6 sem_Expr_Rec_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _recExprOvalTyGlobFreeTvarS | _recExprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _recExprOvalGam | _recExprOvalGam `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _recExprOtyTyGlobFreeTvarS | _recExprOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _recExprOtvKiVarMp | _recExprOtvKiVarMp `seq` (True) -> (case (_lhsIfiOpts) of { _recExprOfiOpts | _recExprOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _recExprOclDfGam | _recExprOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _recExprOchrStore | _recExprOchrStore `seq` (True) -> (case (__tup151) of { (_,_,_,_,_,_lUniq_freshKnTy) | _lUniq_freshKnTy `seq` (True) -> (case (__tup151) of { (_,_,_,_,_lUniq_fit,_) | _lUniq_fit `seq` (True) -> (case (mkFreshAppImTy _lUniq_freshKnTy id) of { __tup150 | __tup150 `seq` (True) -> (case (__tup150) of { (_,_,_resTy) | _resTy `seq` (True) -> (case (\o m -> fitsIn o _fe _lUniq_fit m _resTy _lhsIknTy) of { _doFit | _doFit `seq` (True) -> (case (strongFIOpts) of { _recFiOpts | _recFiOpts `seq` (True) -> (case (_doFit _recFiOpts _lhsItyVarMp) of { _foKnRes | _foKnRes `seq` (True) -> (case (foVarMp _foKnRes `varUpd` _lhsItyVarMp) of { _forExprTyVarMp | _forExprTyVarMp `seq` (True) -> (case (_forExprTyVarMp) of { _recExprOtyVarMp | _recExprOtyVarMp `seq` (True) -> (case (_foKnRes) of { _fo_ | _fo_ `seq` (True) -> (case (__tup150) of { (_,_knTopTy,_) | _knTopTy `seq` (True) -> (case (_knTopTy) of { _knRecTy | _knRecTy `seq` (True) -> (case (_knRecTy) of { _recExprOknTy | _recExprOknTy `seq` (True) -> (case (__tup150) of { (_imTy,_,_) | _imTy `seq` (True) -> (case (foVarMp _foKnRes `varUpd` _imTy) of { _imSubsTy | _imSubsTy `seq` (True) -> (case (implsPredsTail _predScope $ tyImpls _imSubsTy) of { __tup148 | __tup148 `seq` (True) -> (case (__tup148) of { (_knPrL,_) | _knPrL `seq` (True) -> (case (cnstrMpUnions [foGathCnstrMp _fo_, gathPredLToAssumeCnstrMp _knPrL]) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (recExpr_6 _recExprOchrStore _recExprOclDfGam _recExprOfiOpts _recExprOknTy _recExprOtvKiVarMp _recExprOtyTyGlobFreeTvarS _recExprOtyVarMp _recExprOvalGam _recExprOvalTyGlobFreeTvarS) of { ( _recExprIgathCnstrMp,_recExprIgathRangeMp,_recExprInoLetQuantTyVarIdS,_recExprItyVarMp,recExpr_7) | True -> (case (cnstrMpUnions [_hereCnstrMp,_recExprIgathCnstrMp]) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_recExprIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_recExprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (_resTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_recExprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Rec_7 :: T_Expr_7 sem_Expr_Rec_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (_lhsIsysfEnv) of { _recExprOsysfEnv | _recExprOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _recExprOrangeMp | _recExprOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _recExprOfinValGam | _recExprOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _recExprOfinTyVarMp | _recExprOfinTyVarMp `seq` (True) -> (case (_lhsItr) of { _recExprOtr | _recExprOtr `seq` (True) -> (case (_lhsImoduleNm) of { _recExprOmoduleNm | _recExprOmoduleNm `seq` (True) -> (case (mkScopeBindings False _predScope _lhsIchrScopeBindMp) of { __tup146 | __tup146 `seq` (True) -> (case (__tup146) of { (_,_chrScopeBindMp) | _chrScopeBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _recExprOchrScopeBindMp | _recExprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _recExprOchrEvidBindMp | _recExprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _recExprOcSubst | _recExprOcSubst `seq` (True) -> (case (recExpr_7 _recExprOcSubst _recExprOchrEvidBindMp _recExprOchrScopeBindMp _recExprOfinTyVarMp _recExprOfinValGam _recExprOmoduleNm _recExprOrangeMp _recExprOsysfEnv _recExprOtr) of { ( _recExprIallErrSq,_recExprIcSubst,_recExprIerrSq,_recExprIextNm,_recExprIfuCExprL,_recExprIgathMentrelFilterMp,_recExprIgathTvKiVarMp,_recExprIisExtFromEmpty,_recExprIpp,_recExprIppAST,_recExprIppL,_recExprIrecCExpr,_recExprItrpp,_recExprIty) | True -> (case (_recExprIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case (reverse _recExprIppL) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup151) of { (_,_,_,_lUniq_cexpr,_,_) | _lUniq_cexpr `seq` (True) -> (case (__tup151) of { (_,_,_lUniq3,_,_,_) | _lUniq3 `seq` (True) -> (case (__tup148) of { (_,_knImplsTl) | _knImplsTl `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _knImplsTl) of { _impls2KnTl | _impls2KnTl `seq` (True) -> (case (tyImpls _imSubsTy) of { _impls2KnHd | _impls2KnHd `seq` (True) -> (case ([_impls2KnHd, _impls2KnTl]) of { _impls2KnHdTl | _impls2KnHdTl `seq` (True) -> (case (concatMap implsPrIdPredL _impls2KnHdTl) of { _poiPrL | _poiPrL `seq` (True) -> (case (map (mkTyPr . snd) _poiPrL) of { _finKnImplsL | _finKnImplsL `seq` (True) -> (case (map (tyCanonicFFI (emptyTyBetaRedEnv' _fe)) _finKnImplsL) of { _finKnImplsLExpanded | _finKnImplsLExpanded `seq` (True) -> (case (map fst _poiPrL) of { _poiL | _poiL `seq` (True) -> (case (zipWith (\po ty -> (po,SysF.ty2TyC _lhsIopts _lhsIsysfEnv ty)) _poiL _finKnImplsLExpanded) of { _poiAndAcoreTyL | _poiAndAcoreTyL `seq` (True) -> (case (mkAssumeBindings (map poiId _poiL) _lhsIchrEvidBindMp) of { _chrAssumeBindL | _chrAssumeBindL `seq` (True) -> (case (__tup146) of { (_chrScopeBindL,_) | _chrScopeBindL `seq` (True) -> (case (_chrAssumeBindL ++ _chrScopeBindL) of { _poiBindL | _poiBindL `seq` (True) -> (case (acoreCoePoiLLamTy (acoreCoeLetRec _poiBindL) _poiAndAcoreTyL) of { _lamArgCoeL | _lamArgCoeL `seq` (True) -> (case (if not (_recExprIisExtFromEmpty) then fuMkCExpr _lhsIopts _lUniq3 (reverse _recExprIfuCExprL) _recExprIrecCExpr else acoreTagTupTy CTagRec (acoreTyErr "Expr.Rec.rexpr") $ fuL2ExprL $ rowCanonOrder $ _recExprIfuCExprL) of { _rcexpr | _rcexpr `seq` (True) -> (case (id) of { _cann | _cann `seq` (True) -> (case (_recExprIcSubst) of { _cSubstTop | _cSubstTop `seq` (True) -> (case (_rcexpr) of { _cexprtop | _cexprtop `seq` (True) -> (case (let wr = id top = mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _cSubstTop (wr . _cann) _cexprtop [] _lamArgCoeL in top) of { __tup149 | __tup149 `seq` (True) -> (case (__tup149) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_recExprIpp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup149) of { (_,_cexprapptopCSubst) | _cexprapptopCSubst `seq` (True) -> (case (cSubstApp _recExprIcSubst _cexprapptopCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (_recExprIextNm) of { _appFunNm | _appFunNm `seq` (True) -> (case (ppAppTop (hsnRec,mkPPAppFun _appFunNm _recExprIpp) (reverse _recExprIppL) _recExprIpp) of { _pp | _pp `seq` (True) -> (case (rngLift _range mkNestErr' _pp [ _recExprIerrSq , foErrSq _fo_ ]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case (_recExprIfuCExprL) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_recExprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_recExprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Rec"] [] [_recExprIppAST] _trppHere) of { _ppAST | _ppAST `seq` (True) -> (case (_ppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_recExprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Rec_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Rec_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_Rec_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_Rec_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Rec_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) })))))) in sem_Expr_Rec_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }))) in sem_Expr_Rec_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) sem_Expr_Sel :: Range -> T_Expr -> HsName -> T_Expr sem_Expr_Sel hsrange_ expr_ lbl_ | hsrange_ `seq` (expr_ `seq` (lbl_ `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_Expr_Sel_1 :: T_Expr_1 sem_Expr_Sel_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq2) -> case nextUnique __cont of { (__cont, lUniq_freshKnTy) -> (__cont,lUniq2,lUniq_freshKnTy)}} )) of { __tup156 | __tup156 `seq` (True) -> (case (__tup156) of { (_exprOgUniq,_,_) | _exprOgUniq `seq` (True) -> (case (expr_1 _exprOgUniq) of { ( _exprIgUniq,_exprIhasInstDecl,expr_2) | True -> (case (_exprIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Sel_2 :: T_Expr_2 sem_Expr_Sel_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) 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_Expr_Sel_3 :: T_Expr_3 sem_Expr_Sel_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 { _predScope | _predScope `seq` (True) -> (case (_predScope) 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 ((let sem_Expr_Sel_4 :: T_Expr_4 sem_Expr_Sel_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _exprOtyTyTySigFreeTvarS | _exprOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _exprOgathDataGam | _exprOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _exprOfinTyKiGam | _exprOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _exprOfinKiVarMp | _exprOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _exprOclGam | _exprOclGam `seq` (True) -> (case (expr_4 _exprOclGam _exprOfinKiVarMp _exprOfinTyKiGam _exprOgathDataGam _exprOtyTyTySigFreeTvarS) of { ( _exprIgathDataGam,expr_5) | True -> (case (_exprIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Sel_5 :: T_Expr_5 sem_Expr_Sel_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _exprOdataGam | _exprOdataGam `seq` (True) -> (case (expr_5 _exprOdataGam) of { ( _exprIchrClassDeclSq,_exprIchrFIIn,_exprIchrInstDeclSq,_exprIgathClDfGam,expr_6) | True -> (case (_exprIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Sel_6 :: T_Expr_6 sem_Expr_Sel_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _exprOvalTyGlobFreeTvarS | _exprOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _exprOvalGam | _exprOvalGam `seq` (True) -> (case (_lhsItyVarMp) of { _exprOtyVarMp | _exprOtyVarMp `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 (__tup156) of { (_,_,_lUniq_freshKnTy) | _lUniq_freshKnTy `seq` (True) -> (case (__tup156) of { (_,_lUniq2,_) | _lUniq2 `seq` (True) -> (case (let r = mkNewTyVar _lUniq_freshKnTy in (r, [Ty_Impls Impls_Nil] `appArr` ((hsnRec `appConApp` [r]) `recRecExt` [(lbl_,_lhsIknTy)]))) of { __tup154 | __tup154 `seq` (True) -> (case (__tup154) of { (_,_knExprTy) | _knExprTy `seq` (True) -> (case (__tup154) of { (_knRowTy,_) | _knRowTy `seq` (True) -> (case (_knExprTy) of { _exprOknTy | _exprOknTy `seq` (True) -> (case (mkPrIdCHR _lUniq2) of { _prUid | _prUid `seq` (True) -> (case ([rngLift _range mkPredOccRng (Pred_Lacks _knRowTy (Label_Lab lbl_)) _prUid _lhsIpredScope]) of { _prOccL | _prOccL `seq` (True) -> (case (gathPredLToProveCnstrMp _prOccL) 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 { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_exprInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (maybe (Ty_Any,Ty_Any) id (tyRecExtrWithLkup (varmpTyLookupCyc2 _exprItyVarMp) lbl_ $ snd $ tyArrowImplsResWithLkup (varmpTyLookupCyc2 _exprItyVarMp) _exprIty)) of { __tup155 | __tup155 `seq` (True) -> (case (__tup155) of { (_,_ty) | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_exprItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Sel_7 :: T_Expr_7 sem_Expr_Sel_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _exprOexprCtxt | _exprOexprCtxt `seq` (True) -> (case (_lhsIchrScopeBindMp) of { _exprOchrScopeBindMp | _exprOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _exprOchrEvidBindMp | _exprOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _exprOcSubst | _exprOcSubst `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 { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (cSubstApp _exprIcSubst $ acoreNmHolePred _prUid) of { _offset | _offset `seq` (True) -> (case (let [n1,n2] = map uidHNm . mkNewUIDL 2 $ _lUniq_freshKnTy in acoreSelCaseTy _rceEnv (Just (n1,(acoreTyErr $ "EH.ToCore.Expr.Sel.n1: " ++ show n1))) _exprIcexpr CTagRec n2 _offset Nothing) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_exprIpp >|< "." >|< lbl_) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_exprIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_exprIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (_exprIerrSq) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_exprIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_exprIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_exprIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_exprIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","Sel"] [ppTrNm lbl_] [_exprIppAST] _trppHere) of { _ppAST | _ppAST `seq` (True) -> (case (_ppAST) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_exprItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Sel_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Sel_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }))) in sem_Expr_Sel_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_Sel_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Sel_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) })))))) in sem_Expr_Sel_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }))) in sem_Expr_Sel_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) sem_Expr_Undefined :: Range -> T_Expr sem_Expr_Undefined hsrange_ | hsrange_ `seq` (True) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_Undefined_1 :: T_Expr_1 sem_Expr_Undefined_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup157 | __tup157 `seq` (True) -> (case (__tup157) of { (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_Undefined_2 :: T_Expr_2 sem_Expr_Undefined_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_Undefined_3 :: T_Expr_3 sem_Expr_Undefined_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 ((let sem_Expr_Undefined_4 :: T_Expr_4 sem_Expr_Undefined_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_Undefined_5 :: T_Expr_5 sem_Expr_Undefined_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_Undefined_6 :: T_Expr_6 sem_Expr_Undefined_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (__tup157) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (tyEnsureNonAny _lUniq _lhsIknTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_Undefined_7 :: T_Expr_7 sem_Expr_Undefined_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (acoreBuiltinUndefined _lhsIopts) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp "...") of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (empty) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_Undefined_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_Undefined_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_Undefined_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_Undefined_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_Undefined_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_Undefined_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_Undefined_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_CaseAltFail :: Range -> UID -> T_Expr sem_Expr_CaseAltFail hsrange_ caseId_ | hsrange_ `seq` (caseId_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_CaseAltFail_1 :: T_Expr_1 sem_Expr_CaseAltFail_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> (__cont,lUniq)} )) of { __tup158 | __tup158 `seq` (True) -> (case (__tup158) of { (_lhsOgUniq,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_CaseAltFail_2 :: T_Expr_2 sem_Expr_CaseAltFail_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_CaseAltFail_3 :: T_Expr_3 sem_Expr_CaseAltFail_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 ((let sem_Expr_CaseAltFail_4 :: T_Expr_4 sem_Expr_CaseAltFail_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_CaseAltFail_5 :: T_Expr_5 sem_Expr_CaseAltFail_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_CaseAltFail_6 :: T_Expr_6 sem_Expr_CaseAltFail_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (__tup158) of { (_,_lUniq) | _lUniq `seq` (True) -> (case (tyEnsureNonAny _lUniq _lhsIknTy) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_CaseAltFail_7 :: T_Expr_7 sem_Expr_CaseAltFail_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (CExpr_CaseAltFail (CaseAltFailReason_Continue caseId_) (acoreBuiltinError _lhsIopts ("FAIL " ++ show caseId_))) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp "FAIL" >#< caseId_) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (empty) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_CaseAltFail_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_CaseAltFail_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_CaseAltFail_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_CaseAltFail_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_CaseAltFail_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_CaseAltFail_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_CaseAltFail_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_AppImpl :: Range -> T_Expr -> T_PrExpr -> T_Expr -> T_Expr sem_Expr_AppImpl hsrange_ func_ argPr_ arg_ | hsrange_ `seq` (func_ `seq` (argPr_ `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_Expr_AppImpl_1 :: T_Expr_1 sem_Expr_AppImpl_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_cexpr)}} )) of { __tup163 | __tup163 `seq` (True) -> (case (__tup163) of { (_funcOgUniq,_,_) | _funcOgUniq `seq` (True) -> (case (func_1 _funcOgUniq) of { ( _funcIgUniq,_funcIhasInstDecl,func_2) | True -> (case (_funcIgUniq) of { _argPrOgUniq | _argPrOgUniq `seq` (True) -> (case (argPr_) of { ( _argPrIrange,argPr_1) | True -> (case (argPr_1 _argPrOgUniq) of { ( _argPrIgUniq,argPr_2) | True -> (case (_argPrIgUniq) of { _argOgUniq | _argOgUniq `seq` (True) -> (case (arg_1 _argOgUniq) of { ( _argIgUniq,_argIhasInstDecl,arg_2) | True -> (case (_argIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_AppImpl_2 :: T_Expr_2 sem_Expr_AppImpl_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_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 (True) of { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _funcOisFirstLet | _funcOisFirstLet `seq` (True) -> (case (func_2 _funcOisFirstLet _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 (_isFirstLet) of { _argOisFirstLet | _argOisFirstLet `seq` (True) -> (case (arg_2 _argOisFirstLet _argOkiGam _argOlexLev _argOpredSameScopeCounter) of { ( _argIpredSameScopeCounter,arg_3) | True -> (case (_argIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_AppImpl_3 :: T_Expr_3 sem_Expr_AppImpl_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 (_lhsItyKiGam) of { _argPrOtyKiGam | _argPrOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _argPrOtyGam | _argPrOtyGam `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 { _predScope | _predScope `seq` (True) -> (case (_predScope) 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,func_4) | True -> (case (_funcIpolVarMp) of { _argPrOpolVarMp | _argPrOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _argPrOpolGam | _argPrOpolGam `seq` (True) -> (case (polContravariant) of { _argPrOknPolCtx | _argPrOknPolCtx `seq` (True) -> (case (argPr_2 _argPrOtyGam) of { ( _argPrIprTy,_argPrIty,_argPrItyGam,argPr_3) | True -> (case (argPr_3 _argPrOknPolCtx) of { ( _argPrIpolVarL,argPr_4) | True -> (case (argPr_4 _argPrOpolGam _argPrOpolVarMp) of { ( _argPrIpolVarMp,argPr_5) | True -> (case (argPr_5 _argPrOtyKiGam) of { ( _argPrIintlTyKiGam,_argPrItyKiGam,argPr_6) | True -> (case (_argPrItyKiGam) of { _argOtyKiGam | _argOtyKiGam `seq` (True) -> (case (_argPrItyGam) of { _argOtyGam | _argOtyGam `seq` (True) -> (case (_predScope) of { _argOpredScope | _argOpredScope `seq` (True) -> (case (_argPrIpolVarMp) of { _argOpolVarMp | _argOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _argOpolGam | _argOpolGam `seq` (True) -> (case (_lhsIopts) of { _argOopts | _argOopts `seq` (True) -> (case (_funcIkiVarMp) of { _argPrOkiVarMp | _argPrOkiVarMp `seq` (True) -> (case (argPr_6 _argPrOkiVarMp) of { ( _argPrIgathTyVarPolGam,_argPrIki,_argPrIkiVarMp,_argPrItyVarWildMp,argPr_7) | True -> (case (_argPrIkiVarMp) 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,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 ((let sem_Expr_AppImpl_4 :: T_Expr_4 sem_Expr_AppImpl_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _argOtyTyTySigFreeTvarS | _argOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _funcOtyTyTySigFreeTvarS | _funcOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _funcOgathDataGam | _funcOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _funcOfinTyKiGam | _funcOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _funcOfinKiVarMp | _funcOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _funcOclGam | _funcOclGam `seq` (True) -> (case (func_4 _funcOclGam _funcOfinKiVarMp _funcOfinTyKiGam _funcOgathDataGam _funcOtyTyTySigFreeTvarS) of { ( _funcIgathDataGam,func_5) | True -> (case (_funcIgathDataGam) of { _argOgathDataGam | _argOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _argOfinTyKiGam | _argOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _argOfinKiVarMp | _argOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _argOclGam | _argOclGam `seq` (True) -> (case (arg_4 _argOclGam _argOfinKiVarMp _argOfinTyKiGam _argOgathDataGam _argOtyTyTySigFreeTvarS) of { ( _argIgathDataGam,arg_5) | True -> (case (_argIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_AppImpl_5 :: T_Expr_5 sem_Expr_AppImpl_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _argOdataGam | _argOdataGam `seq` (True) -> (case (_lhsIdataGam) of { _funcOdataGam | _funcOdataGam `seq` (True) -> (case (arg_5 _argOdataGam) of { ( _argIchrClassDeclSq,_argIchrFIIn,_argIchrInstDeclSq,_argIgathClDfGam,arg_6) | True -> (case (func_5 _funcOdataGam) of { ( _funcIchrClassDeclSq,_funcIchrFIIn,_funcIchrInstDeclSq,_funcIgathClDfGam,func_6) | True -> (case (_funcIchrInstDeclSq `Seq.union` _argIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_AppImpl_6 :: T_Expr_6 sem_Expr_AppImpl_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _argOvalTyGlobFreeTvarS | _argOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _argOvalGam | _argOvalGam `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 (_lhsIvalTyGlobFreeTvarS) of { _funcOvalTyGlobFreeTvarS | _funcOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _funcOvalGam | _funcOvalGam `seq` (True) -> (case (_lhsItyVarMp) of { _funcOtyVarMp | _funcOtyVarMp `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _funcOtyTyGlobFreeTvarS | _funcOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _funcOtvKiVarMp | _funcOtvKiVarMp `seq` (True) -> (case (_lhsIfiOpts) of { _funcOfiOpts | _funcOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _funcOclDfGam | _funcOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _funcOchrStore | _funcOchrStore `seq` (True) -> (case (__tup163) of { (_,_lUniq,_) | _lUniq `seq` (True) -> (case ([_argPrIty] `appArr` _lhsIknTy) of { _knFunTy | _knFunTy `seq` (True) -> (case (_knFunTy) of { _funcOknTy | _funcOknTy `seq` (True) -> (case (func_6 _funcOchrStore _funcOclDfGam _funcOfiOpts _funcOknTy _funcOtvKiVarMp _funcOtyTyGlobFreeTvarS _funcOtyVarMp _funcOvalGam _funcOvalTyGlobFreeTvarS) of { ( _funcIgathCnstrMp,_funcIgathRangeMp,_funcIgathValGam,_funcInoLetQuantTyVarIdS,_funcIty,_funcItyVarMp,func_7) | True -> (case (tyArrowImplsResWithLkup (varmpTyLookupCyc2 _funcItyVarMp) _funcIty) of { __tup161 | __tup161 `seq` (True) -> (case (__tup161) of { (_knImpls,_) | _knImpls `seq` (True) -> (case (case _knImpls of (a:r) -> (a,r) [] -> (Ty_Any,[])) of { __tup162 | __tup162 `seq` (True) -> (case (__tup162) of { (_knArgImpl,_) | _knArgImpl `seq` (True) -> (case (fitPredToEvid'' clgiPrToEvidDataTy _lUniq _funcItyVarMp _knArgImpl (Right _lhsIclGam)) of { _foPr | _foPr `seq` (True) -> (case (foVarMp _foPr `varUpd` _funcItyVarMp) of { _argOtyVarMp | _argOtyVarMp `seq` (True) -> (case (foTy _foPr) of { _argOknTy | _argOknTy `seq` (True) -> (case (strongFIOpts) of { _argOfiOpts | _argOfiOpts `seq` (True) -> (case (arg_6 _argOchrStore _argOclDfGam _argOfiOpts _argOknTy _argOtvKiVarMp _argOtyTyGlobFreeTvarS _argOtyVarMp _argOvalGam _argOvalTyGlobFreeTvarS) of { ( _argIgathCnstrMp,_argIgathRangeMp,_argIgathValGam,_argInoLetQuantTyVarIdS,_argIty,_argItyVarMp,arg_7) | True -> (case (_funcIgathCnstrMp `cnstrMpUnion` _argIgathCnstrMp) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_funcIgathRangeMp `Map.union` _argIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_funcInoLetQuantTyVarIdS `Set.union` _argInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (__tup162) of { (_,_knResImpls) | _knResImpls `seq` (True) -> (case (__tup161) of { (_,_ty_) | _ty_ `seq` (True) -> (case (_knResImpls `appArr` _ty_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_argItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_AppImpl_7 :: T_Expr_7 sem_Expr_AppImpl_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `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 (_lhsItr) of { _argOtr | _argOtr `seq` (True) -> (case (_lhsImoduleNm) of { _argOmoduleNm | _argOmoduleNm `seq` (True) -> (case (ExprCtxt_Internal) of { _exprCtxt | _exprCtxt `seq` (True) -> (case (_exprCtxt) of { _argOexprCtxt | _argOexprCtxt `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 (_lhsItr) of { _funcOtr | _funcOtr `seq` (True) -> (case (_lhsImoduleNm) of { _funcOmoduleNm | _funcOmoduleNm `seq` (True) -> (case (_exprCtxt) of { _funcOexprCtxt | _funcOexprCtxt `seq` (True) -> (case (func_7 _funcOcSubst _funcOchrEvidBindMp _funcOchrScopeBindMp _funcOexprCtxt _funcOfinTyVarMp _funcOfinValGam _funcOmoduleNm _funcOrangeMp _funcOsysfEnv _funcOtr) of { ( _funcIallErrSq,_funcIappArgCoeL,_funcIappArgPPL,_funcIappFunCExpr,_funcIappFunNm,_funcIappFunPP,_funcIbackCBindL,_funcIcSubst,_funcIcaseFailS,_funcIcexpr,_funcIerrSq,_funcIfrontCBindL,_funcIfuCExprL,_funcIgathClGam,_funcIgathHiddenExports,_funcIgathKiGam,_funcIgathLamMp,_funcIgathMentrelFilterMp,_funcIgathPolGam,_funcIgathTvKiVarMp,_funcIgathTyGam,_funcIgathTyKiGam,_funcIisNewtype,_funcIlamArgPPL,_funcIlamBodyPP,_funcIletCBody,_funcIletTyCBindL,_funcIletValCBindL,_funcIletValMainCBindL,_funcIorphanS,_funcIpp,_funcIppAST,_funcItrpp) | True -> (case (_funcIcSubst) of { _argOcSubst | _argOcSubst `seq` (True) -> (case (arg_7 _argOcSubst _argOchrEvidBindMp _argOchrScopeBindMp _argOexprCtxt _argOfinTyVarMp _argOfinValGam _argOmoduleNm _argOrangeMp _argOsysfEnv _argOtr) of { ( _argIallErrSq,_argIappArgCoeL,_argIappArgPPL,_argIappFunCExpr,_argIappFunNm,_argIappFunPP,_argIbackCBindL,_argIcSubst,_argIcaseFailS,_argIcexpr,_argIerrSq,_argIfrontCBindL,_argIfuCExprL,_argIgathClGam,_argIgathHiddenExports,_argIgathKiGam,_argIgathLamMp,_argIgathMentrelFilterMp,_argIgathPolGam,_argIgathTvKiVarMp,_argIgathTyGam,_argIgathTyKiGam,_argIisNewtype,_argIlamArgPPL,_argIlamBodyPP,_argIletCBody,_argIletTyCBindL,_argIletValCBindL,_argIletValMainCBindL,_argIorphanS,_argIpp,_argIppAST,_argItrpp) | True -> (case (_lhsIclGam) of { _argPrOclGam | _argPrOclGam `seq` (True) -> (case (argPr_7 _argPrOclGam) of { ( _argPrIevTy,argPr_8) | True -> (case (_lhsIvalTyGlobFreeTvarS) of { _argPrOvalTyGlobFreeTvarS | _argPrOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _argPrOtyTyTySigFreeTvarS | _argPrOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _argPrOtyTyGlobFreeTvarS | _argPrOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _argPrOtyKiGlobFreeTvarS | _argPrOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItr) of { _argPrOtr | _argPrOtr `seq` (True) -> (case (_lhsIsysfEnv) of { _argPrOsysfEnv | _argPrOsysfEnv `seq` (True) -> (case (_lhsIopts) of { _argPrOopts | _argPrOopts `seq` (True) -> (case (_lhsImoduleNm) of { _argPrOmoduleNm | _argPrOmoduleNm `seq` (True) -> (case (_lhsIkiGam) of { _argPrOkiGam | _argPrOkiGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _argPrOfinTyVarMp | _argPrOfinTyVarMp `seq` (True) -> (case (_lhsIfinTyKiGam) of { _argPrOfinTyKiGam | _argPrOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _argPrOfinKiVarMp | _argPrOfinKiVarMp `seq` (True) -> (case (argPr_8 _argPrOfinKiVarMp _argPrOfinTyKiGam _argPrOfinTyVarMp _argPrOkiGam _argPrOmoduleNm _argPrOopts _argPrOsysfEnv _argPrOtr _argPrOtyKiGlobFreeTvarS _argPrOtyTyGlobFreeTvarS _argPrOtyTyTySigFreeTvarS _argPrOvalTyGlobFreeTvarS) of { ( _argPrIallErrSq,_argPrIclMissNmS,_argPrIclNmS,_argPrIerrSq,_argPrIgathMentrelFilterMp,_argPrIpp,_argPrIppAST,_argPrIpr,_argPrItrpp) | True -> (case (_funcIallErrSq `Seq.union` _argPrIallErrSq `Seq.union` _argIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _appImplsCoeL | _appImplsCoeL `seq` (True) -> (case (if _funcIisNewtype then ([],_argIcexpr) else (_funcIappArgCoeL ++ _appImplsCoeL ++ [acoreCoeApp1 _argIcexpr],_funcIappFunCExpr)) of { __tup160 | __tup160 `seq` (True) -> (case (__tup160) of { (_lhsOappArgCoeL,_) | _lhsOappArgCoeL `seq` (True) -> (case (_argIpp >#< "<:" >#< _argPrIpp) of { _argPP | _argPP `seq` (True) -> (case (_funcIappArgPPL ++ [_argPP]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup160) of { (_,_lhsOappFunCExpr) | _lhsOappFunCExpr `seq` (True) -> (case (_funcIappFunNm) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (_funcIappFunPP) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup163) of { (_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (let mkapp f = wr $ acore1App f _argIcexpr wr = id impl app= mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _argIcSubst app _funcIcexpr _appImplsCoeL [] in impl mkapp) of { __tup159 | __tup159 `seq` (True) -> (case (__tup159) of { (_,_cexprappCSubst) | _cexprappCSubst `seq` (True) -> (case (cSubstApp _argIcSubst _cexprappCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_funcIcaseFailS `Set.union` _argIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (__tup159) of { (_cexprapp,_) | _cexprapp `seq` (True) -> (case (if _funcIisNewtype then _argIcexpr else _cexprapp) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case ([]) of { _nmErrs | _nmErrs `seq` (True) -> (case (_funcIpp >#< hsnOImpl >#< _argPP >#< hsnCImpl) of { _pp | _pp `seq` (True) -> (case (rngLift _range mkNestErr' _pp [ _funcIerrSq, _argIerrSq, _argPrIerrSq , Seq.fromList _nmErrs, foErrSq _foPr ]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_funcIgathHiddenExports `Seq.union` _argIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_funcIgathLamMp `lamMpUnionBindAspMp` _argIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_funcIgathMentrelFilterMp `mentrelFilterMpUnion` _argPrIgathMentrelFilterMp `mentrelFilterMpUnion` _argIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_funcIgathTvKiVarMp `varmpUnion` _argIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","AppImpl"] [] [_funcIppAST,_argIppAST,_argPrIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_funcItrpp >< _argPrItrpp >< _argItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_AppImpl_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_AppImpl_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_AppImpl_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))) in sem_Expr_AppImpl_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_AppImpl_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_AppImpl_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_AppImpl_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_LamImpl :: Range -> T_PrExpr -> T_PatExpr -> T_Expr -> T_Expr sem_Expr_LamImpl hsrange_ argPr_ arg_ body_ | hsrange_ `seq` (argPr_ `seq` (arg_ `seq` (body_ `seq` (True)))) = (case (body_) of { ( _bodyIrange,body_1) | True -> (case (argPr_) of { ( _argPrIrange,argPr_1) | True -> (case (rangeUnions [hsrange_, _argPrIrange , _bodyIrange ]) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_LamImpl_1 :: T_Expr_1 sem_Expr_LamImpl_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, lUniq4) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq2,lUniq4,lUniq_cexpr)}}}} )) of { __tup169 | __tup169 `seq` (True) -> (case (__tup169) of { (_argPrOgUniq,_,_,_,_) | _argPrOgUniq `seq` (True) -> (case (argPr_1 _argPrOgUniq) of { ( _argPrIgUniq,argPr_2) | True -> (case (_argPrIgUniq) of { _argOgUniq | _argOgUniq `seq` (True) -> (case (arg_) of { ( _argIrange,arg_1) | True -> (case (arg_1 _argOgUniq) of { ( _argIgUniq,arg_2) | True -> (case (_argIgUniq) of { _bodyOgUniq | _bodyOgUniq `seq` (True) -> (case (body_1 _bodyOgUniq) of { ( _bodyIgUniq,_bodyIhasInstDecl,body_2) | True -> (case (_bodyIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_LamImpl_2 :: T_Expr_2 sem_Expr_LamImpl_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIlexLev + 1) of { _lexLev | _lexLev `seq` (True) -> (case (_lexLev) of { _bodyOlexLev | _bodyOlexLev `seq` (True) -> (case (_lhsIkiGam) of { _bodyOkiGam | _bodyOkiGam `seq` (True) -> (case (True) of { _isFirstLet | _isFirstLet `seq` (True) -> (case (_isFirstLet) of { _bodyOisFirstLet | _bodyOisFirstLet `seq` (True) -> (case (True) of { _mustEnterNewPredScope | _mustEnterNewPredScope `seq` (True) -> (case (pscpEnter' _mustEnterNewPredScope _lhsIpredSameScopeCounter) of { __tup165 | __tup165 `seq` (True) -> (case (__tup165) of { (_,_bodyOpredSameScopeCounter) | _bodyOpredSameScopeCounter `seq` (True) -> (case (__tup165) of { (_predSameScopeCounterLam,_) | _predSameScopeCounterLam `seq` (True) -> (case (body_2 _bodyOisFirstLet _bodyOkiGam _bodyOlexLev _bodyOpredSameScopeCounter) of { ( _bodyIpredSameScopeCounter,body_3) | True -> (case (pscpLeave' _mustEnterNewPredScope _predSameScopeCounterLam _bodyIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_LamImpl_3 :: T_Expr_3 sem_Expr_LamImpl_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 { _bodyOtyKiGlobFreeTvarS | _bodyOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _argOtyKiGlobFreeTvarS | _argOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGam) of { _argPrOtyKiGam | _argPrOtyKiGam `seq` (True) -> (case (_lhsItyGam) of { _argPrOtyGam | _argPrOtyGam `seq` (True) -> (case (_lhsIpolVarMp) of { _argPrOpolVarMp | _argPrOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _argPrOpolGam | _argPrOpolGam `seq` (True) -> (case (polContravariant) of { _argPrOknPolCtx | _argPrOknPolCtx `seq` (True) -> (case (argPr_2 _argPrOtyGam) of { ( _argPrIprTy,_argPrIty,_argPrItyGam,argPr_3) | True -> (case (argPr_3 _argPrOknPolCtx) of { ( _argPrIpolVarL,argPr_4) | True -> (case (argPr_4 _argPrOpolGam _argPrOpolVarMp) of { ( _argPrIpolVarMp,argPr_5) | True -> (case (argPr_5 _argPrOtyKiGam) of { ( _argPrIintlTyKiGam,_argPrItyKiGam,argPr_6) | True -> (case (_argPrItyKiGam) of { _argOtyKiGam | _argOtyKiGam `seq` (True) -> (case (_argPrItyGam) of { _argOtyGam | _argOtyGam `seq` (True) -> (case (pscpMk' _mustEnterNewPredScope _lhsIpredSameScopeCounter _lhsIpredScope) of { _predScope | _predScope `seq` (True) -> (case (_predScope) of { _argOpredScope | _argOpredScope `seq` (True) -> (case (_lhsIpredSameScopeCounter) of { _argOpredSameScopeCounter | _argOpredSameScopeCounter `seq` (True) -> (case (_argPrIpolVarMp) of { _argOpolVarMp | _argOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _argOpolGam | _argOpolGam `seq` (True) -> (case (_lhsIopts) of { _argOopts | _argOopts `seq` (True) -> (case (_lexLev) of { _argOlexLev | _argOlexLev `seq` (True) -> (case (_lhsIkiVarMp) of { _argPrOkiVarMp | _argPrOkiVarMp `seq` (True) -> (case (argPr_6 _argPrOkiVarMp) of { ( _argPrIgathTyVarPolGam,_argPrIki,_argPrIkiVarMp,_argPrItyVarWildMp,argPr_7) | True -> (case (_argPrIkiVarMp) of { _argOkiVarMp | _argOkiVarMp `seq` (True) -> (case (_lhsIkiGam) of { _argOkiGam | _argOkiGam `seq` (True) -> (case (_lhsIgenerDataInfoMp) of { _argOgenerDataInfoMp | _argOgenerDataInfoMp `seq` (True) -> (case (arg_2 _argOkiGam _argOlexLev _argOpredSameScopeCounter) of { ( _argIpredSameScopeCounter,arg_3) | True -> (case (arg_3 _argOgenerDataInfoMp _argOkiVarMp _argOopts _argOpolGam _argOpolVarMp _argOpredScope _argOtyGam _argOtyKiGam _argOtyKiGlobFreeTvarS) of { ( _argIgenerDataInfoMp,_argIkiVarMp,_argIpolVarMp,_argItyGam,_argItyKiGam,arg_4) | True -> (case (_argItyKiGam) of { _bodyOtyKiGam | _bodyOtyKiGam `seq` (True) -> (case (_argItyGam) of { _bodyOtyGam | _bodyOtyGam `seq` (True) -> (case (_predScope) of { _bodyOpredScope | _bodyOpredScope `seq` (True) -> (case (_argIpolVarMp) of { _bodyOpolVarMp | _bodyOpolVarMp `seq` (True) -> (case (_lhsIpolGam) of { _bodyOpolGam | _bodyOpolGam `seq` (True) -> (case (_lhsIopts) of { _bodyOopts | _bodyOopts `seq` (True) -> (case (_argIkiVarMp) of { _bodyOkiVarMp | _bodyOkiVarMp `seq` (True) -> (case (_argIgenerDataInfoMp) of { _bodyOgenerDataInfoMp | _bodyOgenerDataInfoMp `seq` (True) -> (case (body_3 _bodyOgenerDataInfoMp _bodyOkiVarMp _bodyOopts _bodyOpolGam _bodyOpolVarMp _bodyOpredScope _bodyOtyGam _bodyOtyKiGam _bodyOtyKiGlobFreeTvarS) of { ( _bodyIgenerDataInfoMp,_bodyIkiVarMp,_bodyIpolVarMp,body_4) | True -> (case (_bodyIgenerDataInfoMp) of { _lhsOgenerDataInfoMp | _lhsOgenerDataInfoMp `seq` (True) -> (case (_bodyIkiVarMp) of { _lhsOkiVarMp | _lhsOkiVarMp `seq` (True) -> (case (_bodyIpolVarMp) of { _lhsOpolVarMp | _lhsOpolVarMp `seq` (True) -> (case ((let sem_Expr_LamImpl_4 :: T_Expr_4 sem_Expr_LamImpl_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsItyTyTySigFreeTvarS) of { _bodyOtyTyTySigFreeTvarS | _bodyOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsIgathDataGam) of { _bodyOgathDataGam | _bodyOgathDataGam `seq` (True) -> (case (_lhsIfinTyKiGam) of { _bodyOfinTyKiGam | _bodyOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _bodyOfinKiVarMp | _bodyOfinKiVarMp `seq` (True) -> (case (_lhsIclGam) of { _bodyOclGam | _bodyOclGam `seq` (True) -> (case (body_4 _bodyOclGam _bodyOfinKiVarMp _bodyOfinTyKiGam _bodyOgathDataGam _bodyOtyTyTySigFreeTvarS) of { ( _bodyIgathDataGam,body_5) | True -> (case (_bodyIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_LamImpl_5 :: T_Expr_5 sem_Expr_LamImpl_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _predScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (_lhsIdataGam) of { _bodyOdataGam | _bodyOdataGam `seq` (True) -> (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 (body_5 _bodyOdataGam) of { ( _bodyIchrClassDeclSq,_bodyIchrFIIn,_bodyIchrInstDeclSq,_bodyIgathClDfGam,body_6) | True -> (case (arg_4 _argOclGam _argOdataGam _argOfinKiVarMp _argOfinTyKiGam _argOtyTyTySigFreeTvarS) of { ( _argIchrInstDeclSq,_argItopNm,arg_5) | True -> (case (_argIchrInstDeclSq `Seq.union` _bodyIchrInstDeclSq) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_LamImpl_6 :: T_Expr_6 sem_Expr_LamImpl_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (_lhsIvalTyGlobFreeTvarS) of { _bodyOvalTyGlobFreeTvarS | _bodyOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsIvalGam) of { _argOvalGam | _argOvalGam `seq` (True) -> (case (emptyGam) of { _tySigGam | _tySigGam `seq` (True) -> (case (_tySigGam) of { _argOtySigGam | _argOtySigGam `seq` (True) -> (case (_lhsIfiOpts) of { _argOfiOpts | _argOfiOpts `seq` (True) -> (case (__tup169) of { (_,_,_,_lUniq4,_) | _lUniq4 `seq` (True) -> (case (__tup169) of { (_,_,_lUniq2,_,_) | _lUniq2 `seq` (True) -> (case (__tup169) of { (_,_lUniq,_,_,_) | _lUniq `seq` (True) -> (case (True) of { _argOinclVarBind | _argOinclVarBind `seq` (True) -> (case (let r = mkNewTyVar _lUniq in [_argPrIty] `appArr` r) of { _funTy | _funTy `seq` (True) -> (case (\o m -> fitsIn o _fe _lUniq2 m _funTy _lhsIknTy) of { _doFit | _doFit `seq` (True) -> (case (_doFit (implFIOpts {fioBindRFirst=True}) _lhsItyVarMp) of { _fo_fitF_ | _fo_fitF_ `seq` (True) -> (case (foVarMp _fo_fitF_ `varUpd` _lhsItyVarMp) of { _knImplsVarMp | _knImplsVarMp `seq` (True) -> (case (tyArrowImplsResWithLkup (varmpTyLookupCyc2 _knImplsVarMp) _funTy) of { __tup167 | __tup167 `seq` (True) -> (case (__tup167) of { (_knImpls,_) | _knImpls `seq` (True) -> (case (hdAndTl _knImpls) of { __tup168 | __tup168 `seq` (True) -> (case (__tup168) of { (_knArgImpl,_) | _knArgImpl `seq` (True) -> (case (fitPredToEvid'' clgiPrToEvidDataTy _lUniq4 _knImplsVarMp _knArgImpl (Right _lhsIclGam)) of { _foPr | _foPr `seq` (True) -> (case (foVarMp _foPr `varUpd` _knImplsVarMp) of { _forArgTyVarMp | _forArgTyVarMp `seq` (True) -> (case (_forArgTyVarMp) of { _argOpatTyVarMp | _argOpatTyVarMp `seq` (True) -> (case (foTy _foPr) of { _argOknTy | _argOknTy `seq` (True) -> (case ([]) of { _argOknTyL | _argOknTyL `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 (_argIvalGam) of { _bodyOvalGam | _bodyOvalGam `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _bodyOtyTyGlobFreeTvarS | _bodyOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItvKiVarMp) of { _bodyOtvKiVarMp | _bodyOtvKiVarMp `seq` (True) -> (case (_lhsIfiOpts) of { _bodyOfiOpts | _bodyOfiOpts `seq` (True) -> (case (_lhsIclDfGam) of { _bodyOclDfGam | _bodyOclDfGam `seq` (True) -> (case (_lhsIchrStore) of { _bodyOchrStore | _bodyOchrStore `seq` (True) -> (case (_lhsIvalTyGlobFreeTvarS) of { _argOvalTyGlobFreeTvarS | _argOvalTyGlobFreeTvarS `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 (_argIpatTyVarMp) of { _argOtyVarMp | _argOtyVarMp `seq` (True) -> (case (arg_7 _argOchrStore _argOclDfGam _argOtvKiVarMp _argOtyTyGlobFreeTvarS _argOtyVarMp _argOvalTyGlobFreeTvarS) of { ( _argIcpNm,_argIgathCnstrMp,_argIgathRangeMp,_argIscopeGam,_argIty,_argItyVarMp,arg_8) | True -> (case (_argItyVarMp) of { _bodyOtyVarMp | _bodyOtyVarMp `seq` (True) -> (case (__tup168) of { (_,_knResImpls) | _knResImpls `seq` (True) -> (case (__tup167) of { (_,_ty_) | _ty_ `seq` (True) -> (case (_knResImpls `appArr` _ty_) of { _bodyOknTy | _bodyOknTy `seq` (True) -> (case (mkPrIdCHR _lUniq) of { _knPrUid | _knPrUid `seq` (True) -> (case (body_6 _bodyOchrStore _bodyOclDfGam _bodyOfiOpts _bodyOknTy _bodyOtvKiVarMp _bodyOtyTyGlobFreeTvarS _bodyOtyVarMp _bodyOvalGam _bodyOvalTyGlobFreeTvarS) of { ( _bodyIgathCnstrMp,_bodyIgathRangeMp,_bodyIgathValGam,_bodyInoLetQuantTyVarIdS,_bodyIty,_bodyItyVarMp,body_7) | True -> (case (tyPred $ (_bodyItyVarMp `varUpd`) $ _knArgImpl) of { _knPr | _knPr `seq` (True) -> (case ([mkPredOcc _knPr _knPrUid _predScope]) of { _knPrL | _knPrL `seq` (True) -> (case (gathPredLToAssumeCnstrMp _knPrL) of { _hereCnstrMp | _hereCnstrMp `seq` (True) -> (case (cnstrMpUnions [_hereCnstrMp,_argIgathCnstrMp,_bodyIgathCnstrMp]) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (_argIgathRangeMp `Map.union` _bodyIgathRangeMp) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (_bodyInoLetQuantTyVarIdS) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case ([_knArgImpl] `appArr` _bodyIty) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_bodyItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_LamImpl_7 :: T_Expr_7 sem_Expr_LamImpl_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (_lhsIsysfEnv) of { _bodyOsysfEnv | _bodyOsysfEnv `seq` (True) -> (case (_lhsIrangeMp) of { _bodyOrangeMp | _bodyOrangeMp `seq` (True) -> (case (_lhsIfinValGam) of { _bodyOfinValGam | _bodyOfinValGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _bodyOfinTyVarMp | _bodyOfinTyVarMp `seq` (True) -> (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 (_lhsItr) of { _bodyOtr | _bodyOtr `seq` (True) -> (case (_lhsImoduleNm) of { _bodyOmoduleNm | _bodyOmoduleNm `seq` (True) -> (case (mkScopeBindings False _predScope _lhsIchrScopeBindMp) of { __tup164 | __tup164 `seq` (True) -> (case (__tup164) of { (_,_chrScopeBindMp) | _chrScopeBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _bodyOchrScopeBindMp | _bodyOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _bodyOchrEvidBindMp | _bodyOchrEvidBindMp `seq` (True) -> (case (_chrScopeBindMp) of { _argOchrScopeBindMp | _argOchrScopeBindMp `seq` (True) -> (case (_lhsIchrEvidBindMp) of { _argOchrEvidBindMp | _argOchrEvidBindMp `seq` (True) -> (case (_lhsIcSubst) of { _argOcSubst | _argOcSubst `seq` (True) -> (case (emptyVarMp) of { _tySigVarMp | _tySigVarMp `seq` (True) -> (case (_tySigVarMp) of { _argOtySigVarMp | _argOtySigVarMp `seq` (True) -> (case (_lhsItr) of { _argOtr | _argOtr `seq` (True) -> (case (_lhsImoduleNm) of { _argOmoduleNm | _argOmoduleNm `seq` (True) -> (case (_argItopNm) 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 (_argIcSubst) of { _bodyOcSubst | _bodyOcSubst `seq` (True) -> (case (ExprCtxt_Lam) of { _bodyOexprCtxt | _bodyOexprCtxt `seq` (True) -> (case (body_7 _bodyOcSubst _bodyOchrEvidBindMp _bodyOchrScopeBindMp _bodyOexprCtxt _bodyOfinTyVarMp _bodyOfinValGam _bodyOmoduleNm _bodyOrangeMp _bodyOsysfEnv _bodyOtr) of { ( _bodyIallErrSq,_bodyIappArgCoeL,_bodyIappArgPPL,_bodyIappFunCExpr,_bodyIappFunNm,_bodyIappFunPP,_bodyIbackCBindL,_bodyIcSubst,_bodyIcaseFailS,_bodyIcexpr,_bodyIerrSq,_bodyIfrontCBindL,_bodyIfuCExprL,_bodyIgathClGam,_bodyIgathHiddenExports,_bodyIgathKiGam,_bodyIgathLamMp,_bodyIgathMentrelFilterMp,_bodyIgathPolGam,_bodyIgathTvKiVarMp,_bodyIgathTyGam,_bodyIgathTyKiGam,_bodyIisNewtype,_bodyIlamArgPPL,_bodyIlamBodyPP,_bodyIletCBody,_bodyIletTyCBindL,_bodyIletValCBindL,_bodyIletValMainCBindL,_bodyIorphanS,_bodyIpp,_bodyIppAST,_bodyItrpp) | True -> (case (_lhsIclGam) of { _argPrOclGam | _argPrOclGam `seq` (True) -> (case (argPr_7 _argPrOclGam) of { ( _argPrIevTy,argPr_8) | True -> (case (_lhsIvalTyGlobFreeTvarS) of { _argPrOvalTyGlobFreeTvarS | _argPrOvalTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyTyTySigFreeTvarS) of { _argPrOtyTyTySigFreeTvarS | _argPrOtyTyTySigFreeTvarS `seq` (True) -> (case (_lhsItyTyGlobFreeTvarS) of { _argPrOtyTyGlobFreeTvarS | _argPrOtyTyGlobFreeTvarS `seq` (True) -> (case (_lhsItyKiGlobFreeTvarS) of { _argPrOtyKiGlobFreeTvarS | _argPrOtyKiGlobFreeTvarS `seq` (True) -> (case (_lhsItr) of { _argPrOtr | _argPrOtr `seq` (True) -> (case (_lhsIsysfEnv) of { _argPrOsysfEnv | _argPrOsysfEnv `seq` (True) -> (case (_lhsIopts) of { _argPrOopts | _argPrOopts `seq` (True) -> (case (_lhsImoduleNm) of { _argPrOmoduleNm | _argPrOmoduleNm `seq` (True) -> (case (_lhsIkiGam) of { _argPrOkiGam | _argPrOkiGam `seq` (True) -> (case (_lhsIfinTyVarMp) of { _argPrOfinTyVarMp | _argPrOfinTyVarMp `seq` (True) -> (case (_lhsIfinTyKiGam) of { _argPrOfinTyKiGam | _argPrOfinTyKiGam `seq` (True) -> (case (_lhsIfinKiVarMp) of { _argPrOfinKiVarMp | _argPrOfinKiVarMp `seq` (True) -> (case (argPr_8 _argPrOfinKiVarMp _argPrOfinTyKiGam _argPrOfinTyVarMp _argPrOkiGam _argPrOmoduleNm _argPrOopts _argPrOsysfEnv _argPrOtr _argPrOtyKiGlobFreeTvarS _argPrOtyTyGlobFreeTvarS _argPrOtyTyTySigFreeTvarS _argPrOvalTyGlobFreeTvarS) of { ( _argPrIallErrSq,_argPrIclMissNmS,_argPrIclNmS,_argPrIerrSq,_argPrIgathMentrelFilterMp,_argPrIpp,_argPrIppAST,_argPrIpr,_argPrItrpp) | True -> (case (_argPrIallErrSq `Seq.union` _argIallErrSq `Seq.union` _bodyIallErrSq) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup169) of { (_,_,_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case ((emptyRCEEnv _lhsIopts) { rceValGam = _lhsIvalGam, rceDataGam = _lhsIdataGam, rceTyVarMp = _lhsIfinTyVarMp }) of { _rceEnv | _rceEnv `seq` (True) -> (case (_lhsIfinTyVarMp `varUpd` _argIty) of { _finalTyArg | _finalTyArg `seq` (True) -> (case (tyCanonicFFI (emptyTyBetaRedEnv' _fe) _finalTyArg) of { _finalTyArgExpanded | _finalTyArgExpanded `seq` (True) -> (case ((appDbg "Expr.{Lam LamImpl}.sysftyArg not implemented" :: SysfTy)) of { _sysftyLamArg | _sysftyLamArg `seq` (True) -> (case (mkCTy _lhsIopts _finalTyArgExpanded _sysftyLamArg) of { _acoretyArg | _acoretyArg `seq` (True) -> (case ([_knPrUid]) of { _poiL | _poiL `seq` (True) -> (case (mkAssumeBindings (map poiId _poiL) _lhsIchrEvidBindMp) of { _chrAssumeBindL | _chrAssumeBindL `seq` (True) -> (case (__tup164) of { (_chrScopeBindL,_) | _chrScopeBindL `seq` (True) -> (case (_chrAssumeBindL ++ _chrScopeBindL) of { _poiBindL | _poiBindL `seq` (True) -> (case ([acoreCoeLam1Ty _argItopNm _acoretyArg `acoreCoeCompose` acoreCoeLetRec _poiBindL]) of { _lamArgCoeL | _lamArgCoeL `seq` (True) -> (case (mkLamBodyCoe (acoreCoeMap (\e -> rceMatchTy _rceEnv [(_argItopNm,_acoretyArg)] [RAlt_Alt [_argIrpat] e Set.empty])) _bodyIappArgCoeL) of { _lamBodyCoeL | _lamBodyCoeL `seq` (True) -> (case (let wr = id lam = mkWeaveExpr _lhsIopts _lUniq_cexpr _lhsIfinTyVarMp _bodyIcSubst wr _bodyIappFunCExpr _lamBodyCoeL _lamArgCoeL in lam) of { __tup166 | __tup166 `seq` (True) -> (case (__tup166) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (hsnOImpl >#< _argIpp >#< "<:" >#< _argPrIpp >#< hsnCImpl) of { _argPP | _argPP `seq` (True) -> (case (_argPP : _bodyIlamArgPPL) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (if _lhsIexprCtxt /= ExprCtxt_Lam then let sep = case _lamArgPPL of [_] -> (>#<) _ -> (>###<) in ("\\" >|< ppSpaces _lamArgPPL) `sep` ("->" >#< _bodyIlamBodyPP) else "\\" >|< _argPP >#< "->" >#< _bodyIpp) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup166) of { (_,_cexprlamCSubst) | _cexprlamCSubst `seq` (True) -> (case (cSubstApp _bodyIcSubst _cexprlamCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (_bodyIcaseFailS) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case ([]) of { _nmErrs | _nmErrs `seq` (True) -> (case (rngLift _range mkNestErr' _pp [ _argIerrSq, _argPrIerrSq, _bodyIerrSq , Seq.fromList _nmErrs, foErrSq _fo_fitF_, foErrSq _foPr ]) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (_bodyIgathHiddenExports) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (_bodyIgathLamMp) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (_argPrIgathMentrelFilterMp `mentrelFilterMpUnion` _argIgathMentrelFilterMp `mentrelFilterMpUnion` _bodyIgathMentrelFilterMp) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (_argIgathTvKiVarMp `varmpUnion` _bodyIgathTvKiVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_bodyIlamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","LamImpl"] [] [_argIppAST,_argPrIppAST,_bodyIppAST] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (_argPrItrpp >< _argItrpp >< _bodyItrpp) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_LamImpl_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_LamImpl_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_LamImpl_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }) }) }) }) }) }) }))))))) in sem_Expr_LamImpl_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_LamImpl_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) }) }) }) }) }) }) }) }) }) }) })))))) in sem_Expr_LamImpl_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }) }) }) }) }) }) }) }))) in sem_Expr_LamImpl_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) }) }) sem_Expr_DynVar :: Range -> HsName -> T_Expr sem_Expr_DynVar hsrange_ nm_ | hsrange_ `seq` (nm_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_DynVar_1 :: T_Expr_1 sem_Expr_DynVar_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (_lhsIgUniq) of { _lhsOgUniq | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_DynVar_2 :: T_Expr_2 sem_Expr_DynVar_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_DynVar_3 :: T_Expr_3 sem_Expr_DynVar_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 ((let sem_Expr_DynVar_4 :: T_Expr_4 sem_Expr_DynVar_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_DynVar_5 :: T_Expr_5 sem_Expr_DynVar_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_DynVar_6 :: T_Expr_6 sem_Expr_DynVar_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (Ty_Any) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (_lhsItyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_DynVar_7 :: T_Expr_7 sem_Expr_DynVar_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (acoreBuiltinUndefined _lhsIopts) of { _cexpr | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (hsnDynVar >|< pp nm_) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (_lhsIcSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","DynVar"] [ppTrNm nm_] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_DynVar_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_DynVar_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_DynVar_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_DynVar_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_DynVar_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_DynVar_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }))) in sem_Expr_DynVar_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) }) sem_Expr_IIConst :: Range -> Integer -> T_Expr sem_Expr_IIConst hsrange_ integer_ | hsrange_ `seq` (integer_ `seq` (True)) = (case (hsrange_) of { _range | _range `seq` (True) -> (case (_range) of { _lhsOrange | _lhsOrange `seq` (True) -> (case ((let sem_Expr_IIConst_1 :: T_Expr_1 sem_Expr_IIConst_1 = (\ _lhsIgUniq -> _lhsIgUniq `seq` ((case (let __cont = _lhsIgUniq in seq __cont ( case nextUnique __cont of { (__cont, lUniq) -> case nextUnique __cont of { (__cont, lUniq_cexpr) -> (__cont,lUniq,lUniq_cexpr)}} )) of { __tup171 | __tup171 `seq` (True) -> (case (__tup171) of { (_lhsOgUniq,_,_) | _lhsOgUniq `seq` (True) -> (case (False) of { _lhsOhasInstDecl | _lhsOhasInstDecl `seq` (True) -> (case ((let sem_Expr_IIConst_2 :: T_Expr_2 sem_Expr_IIConst_2 = (\ _lhsIisFirstLet _lhsIkiGam _lhsIlexLev _lhsIpredSameScopeCounter -> _lhsIisFirstLet `seq` (_lhsIkiGam `seq` (_lhsIlexLev `seq` (_lhsIpredSameScopeCounter `seq` ((case (_lhsIpredSameScopeCounter) of { _lhsOpredSameScopeCounter | _lhsOpredSameScopeCounter `seq` (True) -> (case ((let sem_Expr_IIConst_3 :: T_Expr_3 sem_Expr_IIConst_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 ((let sem_Expr_IIConst_4 :: T_Expr_4 sem_Expr_IIConst_4 = (\ _lhsIclGam _lhsIfinKiVarMp _lhsIfinTyKiGam _lhsIgathDataGam _lhsItyTyTySigFreeTvarS -> _lhsIclGam `seq` (_lhsIfinKiVarMp `seq` (_lhsIfinTyKiGam `seq` (_lhsIgathDataGam `seq` (_lhsItyTyTySigFreeTvarS `seq` ((case (_lhsIgathDataGam) of { _lhsOgathDataGam | _lhsOgathDataGam `seq` (True) -> (case ((let sem_Expr_IIConst_5 :: T_Expr_5 sem_Expr_IIConst_5 = (\ _lhsIdataGam -> _lhsIdataGam `seq` ((case (Seq.empty) of { _lhsOchrClassDeclSq | _lhsOchrClassDeclSq `seq` (True) -> (case (defaultFIEnv { feEHCOpts = _lhsIopts , fePredScope = _lhsIpredScope , feTyGam = _lhsItyGam , fePolGam = _lhsIpolGam , feRange = _range }) of { _fe | _fe `seq` (True) -> (case (emptyFI {fiEnv = _fe} :: FIIn) of { _chrFIIn | _chrFIIn `seq` (True) -> (case (_chrFIIn) of { _lhsOchrFIIn | _lhsOchrFIIn `seq` (True) -> (case (Seq.empty) of { _lhsOchrInstDeclSq | _lhsOchrInstDeclSq `seq` (True) -> (case (emptyGam) of { _lhsOgathClDfGam | _lhsOgathClDfGam `seq` (True) -> (case ((let sem_Expr_IIConst_6 :: T_Expr_6 sem_Expr_IIConst_6 = (\ _lhsIchrStore _lhsIclDfGam _lhsIfiOpts _lhsIknTy _lhsItvKiVarMp _lhsItyTyGlobFreeTvarS _lhsItyVarMp _lhsIvalGam _lhsIvalTyGlobFreeTvarS -> _lhsIchrStore `seq` (_lhsIclDfGam `seq` (_lhsIfiOpts `seq` (_lhsIknTy `seq` (_lhsItvKiVarMp `seq` (_lhsItyTyGlobFreeTvarS `seq` (_lhsItyVarMp `seq` (_lhsIvalGam `seq` (_lhsIvalTyGlobFreeTvarS `seq` ((case (Map.empty) of { _lhsOgathCnstrMp | _lhsOgathCnstrMp `seq` (True) -> (case (Map.empty) of { _lhsOgathRangeMp | _lhsOgathRangeMp `seq` (True) -> (case (emptyGam) of { _lhsOgathValGam | _lhsOgathValGam `seq` (True) -> (case (Set.empty) of { _lhsOnoLetQuantTyVarIdS | _lhsOnoLetQuantTyVarIdS `seq` (True) -> (case (__tup171) of { (_,_lUniq,_) | _lUniq `seq` (True) -> (case (tyInteger) of { _constTy | _constTy `seq` (True) -> (case (ehcOptTrace _lhsIopts "Expr.?Const.loc.fo_" $ fitsIn _lhsIfiOpts _fe _lUniq _lhsItyVarMp _constTy _lhsIknTy) of { _fo_ | _fo_ `seq` (True) -> (case (foTy _fo_) of { _ty | _ty `seq` (True) -> (case (_ty) of { _lhsOty | _lhsOty `seq` (True) -> (case (foVarMp _fo_ `varUpd` _lhsItyVarMp) of { _tyVarMp | _tyVarMp `seq` (True) -> (case (_tyVarMp) of { _lhsOtyVarMp | _lhsOtyVarMp `seq` (True) -> (case ((let sem_Expr_IIConst_7 :: T_Expr_7 sem_Expr_IIConst_7 = (\ _lhsIcSubst _lhsIchrEvidBindMp _lhsIchrScopeBindMp _lhsIexprCtxt _lhsIfinTyVarMp _lhsIfinValGam _lhsImoduleNm _lhsIrangeMp _lhsIsysfEnv _lhsItr -> _lhsIcSubst `seq` (_lhsIchrEvidBindMp `seq` (_lhsIchrScopeBindMp `seq` (_lhsIexprCtxt `seq` (_lhsIfinTyVarMp `seq` (_lhsIfinValGam `seq` (_lhsImoduleNm `seq` (_lhsIrangeMp `seq` (_lhsIsysfEnv `seq` (_lhsItr `seq` ((case (Seq.empty) of { _lhsOallErrSq | _lhsOallErrSq `seq` (True) -> (case ([]) of { _lhsOappArgCoeL | _lhsOappArgCoeL `seq` (True) -> (case ([]) of { _lhsOappArgPPL | _lhsOappArgPPL `seq` (True) -> (case (__tup171) of { (_,_,_lUniq_cexpr) | _lUniq_cexpr `seq` (True) -> (case (acoreBuiltinInteger _lhsIopts integer_) of { _cexprBase | _cexprBase `seq` (True) -> (case (foAppLRCoeAsSubst _lhsIopts _lUniq_cexpr _fo_ _lhsIfinTyVarMp _lhsIcSubst $ _cexprBase) of { __tup170 | __tup170 `seq` (True) -> (case (__tup170) of { (_cexpr,_) | _cexpr `seq` (True) -> (case (_cexpr) of { _lhsOappFunCExpr | _lhsOappFunCExpr `seq` (True) -> (case (hsnUnknown) of { _lhsOappFunNm | _lhsOappFunNm `seq` (True) -> (case (pp (show integer_)) of { _pp | _pp `seq` (True) -> (case (_pp) of { _lhsOappFunPP | _lhsOappFunPP `seq` (True) -> (case ([]) of { _lhsObackCBindL | _lhsObackCBindL `seq` (True) -> (case (__tup170) of { (_,_cexprCSubst) | _cexprCSubst `seq` (True) -> (case (cSubstApp _lhsIcSubst _cexprCSubst) of { _lhsOcSubst | _lhsOcSubst `seq` (True) -> (case (Set.empty) of { _lhsOcaseFailS | _lhsOcaseFailS `seq` (True) -> (case (_cexpr) of { _lhsOcexpr | _lhsOcexpr `seq` (True) -> (case (Seq.empty) of { _lhsOerrSq | _lhsOerrSq `seq` (True) -> (case ([]) of { _lhsOfrontCBindL | _lhsOfrontCBindL `seq` (True) -> (case ([]) of { _lhsOfuCExprL | _lhsOfuCExprL `seq` (True) -> (case (emptyGam) of { _lhsOgathClGam | _lhsOgathClGam `seq` (True) -> (case (Seq.empty) of { _lhsOgathHiddenExports | _lhsOgathHiddenExports `seq` (True) -> (case (emptyGam) of { _lhsOgathKiGam | _lhsOgathKiGam `seq` (True) -> (case (Map.empty) of { _lhsOgathLamMp | _lhsOgathLamMp `seq` (True) -> (case (Map.empty) of { _lhsOgathMentrelFilterMp | _lhsOgathMentrelFilterMp `seq` (True) -> (case (emptyGam) of { _lhsOgathPolGam | _lhsOgathPolGam `seq` (True) -> (case (emptyVarMp) of { _lhsOgathTvKiVarMp | _lhsOgathTvKiVarMp `seq` (True) -> (case (emptyGam) of { _lhsOgathTyGam | _lhsOgathTyGam `seq` (True) -> (case (emptyGam) of { _lhsOgathTyKiGam | _lhsOgathTyKiGam `seq` (True) -> (case (False) of { _lhsOisNewtype | _lhsOisNewtype `seq` (True) -> (case ([]) of { _lamArgPPL | _lamArgPPL `seq` (True) -> (case (_lamArgPPL) of { _lhsOlamArgPPL | _lhsOlamArgPPL `seq` (True) -> (case (_pp) of { _lamBodyPP | _lamBodyPP `seq` (True) -> (case (_lamBodyPP) of { _lhsOlamBodyPP | _lhsOlamBodyPP `seq` (True) -> (case (_cexpr) of { _lhsOletCBody | _lhsOletCBody `seq` (True) -> (case ([]) of { _lhsOletTyCBindL | _lhsOletTyCBindL `seq` (True) -> (case ([]) of { _lhsOletValCBindL | _lhsOletValCBindL `seq` (True) -> (case ([]) of { _lhsOletValMainCBindL | _lhsOletValMainCBindL `seq` (True) -> (case (Set.empty) of { _lhsOorphanS | _lhsOorphanS `seq` (True) -> (case (_pp) of { _lhsOpp | _lhsOpp `seq` (True) -> (case (trppEmpty) of { _trppHere | _trppHere `seq` (True) -> (case (ppNestTrPP ["Expr","IIConst"] [_pp] [] _trppHere) of { _lhsOppAST | _lhsOppAST `seq` (True) -> (case (trppEmpty) of { _lhsOtrpp | _lhsOtrpp `seq` (True) -> ( _lhsOallErrSq,_lhsOappArgCoeL,_lhsOappArgPPL,_lhsOappFunCExpr,_lhsOappFunNm,_lhsOappFunPP,_lhsObackCBindL,_lhsOcSubst,_lhsOcaseFailS,_lhsOcexpr,_lhsOerrSq,_lhsOfrontCBindL,_lhsOfuCExprL,_lhsOgathClGam,_lhsOgathHiddenExports,_lhsOgathKiGam,_lhsOgathLamMp,_lhsOgathMentrelFilterMp,_lhsOgathPolGam,_lhsOgathTvKiVarMp,_lhsOgathTyGam,_lhsOgathTyKiGam,_lhsOisNewtype,_lhsOlamArgPPL,_lhsOlamBodyPP,_lhsOletCBody,_lhsOletTyCBindL,_lhsOletValCBindL,_lhsOletValMainCBindL,_lhsOorphanS,_lhsOpp,_lhsOppAST,_lhsOtrpp) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })))))))))))) in sem_Expr_IIConst_7)) of { ( sem_Expr_7) | True -> ( _lhsOgathCnstrMp,_lhsOgathRangeMp,_lhsOgathValGam,_lhsOnoLetQuantTyVarIdS,_lhsOty,_lhsOtyVarMp,sem_Expr_7) }) }) }) }) }) }) }) }) }) }) }) }))))))))))) in sem_Expr_IIConst_6)) of { ( sem_Expr_6) | True -> ( _lhsOchrClassDeclSq,_lhsOchrFIIn,_lhsOchrInstDeclSq,_lhsOgathClDfGam,sem_Expr_6) }) }) }) }) }) }) }))) in sem_Expr_IIConst_5)) of { ( sem_Expr_5) | True -> ( _lhsOgathDataGam,sem_Expr_5) }) }))))))) in sem_Expr_IIConst_4)) of { ( sem_Expr_4) | True -> ( _lhsOgenerDataInfoMp,_lhsOkiVarMp,_lhsOpolVarMp,sem_Expr_4) }) }) }) }))))))))))) in sem_Expr_IIConst_3)) of { ( sem_Expr_3) | True -> ( _lhsOpredSameScopeCounter,sem_Expr_3) }) })))))) in sem_Expr_IIConst_2)) of { ( sem_Expr_2) | True -> ( _lhsOgUniq,_lhsOhasInstDecl,sem_Expr_2) }) }) }) }))) in sem_Expr_IIConst_1)) of { ( sem_Expr_1) | True -> ( _lhsOrange,sem_Expr_1) }) }) })