-module('Idris.Idris2.TTImp.ProcessDef'). -compile('no_auto_import'). -compile('inline'). -compile({'inline_size',24}). -export([ 'with--with block in nameListEq-13350'/4, 'with--nameListEq-13343'/5, 'with--extendEnv-8016'/20, 'with--extendEnv-7935'/19, 'case--case block in case block in case block in processDef-16623'/33, 'case--case block in case block in case block in processDef-16539'/28, 'case--case block in case block in processDef-16246'/23, 'case--case block in case block in processDef-16130'/17, 'case--case block in processDef-16084'/15, 'case--processDef-16054'/13, 'case--case block in case block in processDef,checkCoverage-15866'/27, 'case--case block in processDef,checkCoverage-15802'/27, 'case--case block in processDef,checkCoverage-15687'/22, 'case--processDef,checkCoverage-15518'/17, 'case--processDef,checkImpossible-15332'/18, 'case--case block in case block in processDef,checkImpossible-15171'/28, 'case--case block in processDef,checkImpossible-15092'/23, 'case--processDef,checkImpossible-15021'/19, 'case--compileRunTime-14738'/9, 'case--case block in case block in case block in case block in mkRunTime-14506'/25, 'case--case block in case block in case block in mkRunTime-14418'/26, 'case--case block in case block in mkRunTime-14289'/20, 'case--case block in case block in mkRunTime-14202'/18, 'case--case block in mkRunTime-14167'/11, 'case--mkRunTime-14139'/8, 'case--case block in case block in case block in calcRefs-13801'/18, 'case--case block in case block in case block in calcRefs-13763'/18, 'case--case block in case block in case block in calcRefs-13627'/13, 'case--case block in case block in calcRefs-13599'/13, 'case--case block in case block in calcRefs-13551'/12, 'case--case block in calcRefs-13533'/8, 'case--calcRefs-13518'/6, 'case--case block in calcRefs,dropErased-13440'/11, 'case--calcRefs,dropErased-13413'/9, 'case--case block in checkClause-13225'/26, 'case--case block in case block in case block in case block in case block in case block in case block in checkClause-12697'/65, 'case--case block in case block in case block in case block in case block in case block in case block in checkClause-12566'/59, 'case--case block in case block in case block in case block in case block in case block in case block in checkClause-12326'/59, 'case--case block in case block in case block in case block in case block in case block in checkClause-11958'/52, 'case--case block in case block in case block in case block in case block in case block in checkClause-11755'/49, 'case--case block in case block in case block in case block in case block in checkClause-11579'/43, 'case--case block in case block in case block in case block in checkClause-11488'/42, 'case--case block in case block in case block in checkClause-11399'/41, 'case--case block in case block in checkClause-11283'/37, 'case--case block in checkClause-11152'/27, 'case--checkClause-11068'/18, 'case--checkClause,keepOldEnv-10944'/24, 'case--checkClause,keepOldEnv-10860'/24, 'case--checkClause,keepOldEnv-10776'/24, 'case--checkClause,keepOldEnv-10692'/24, 'case--case block in checkClause-10550'/24, 'case--case block in checkClause-10406'/30, 'case--checkClause-10226'/16, 'case--case block in checkClause-10131'/18, 'case--checkClause-10040'/16, 'case--case block in case block in checkClause-9913'/29, 'case--case block in checkClause-9838'/24, 'case--checkClause-9742'/18, 'case--case block in checkLHS-9384'/26, 'case--case block in checkLHS-9298'/21, 'case--case block in checkLHS-9150'/24, 'case--checkLHS-9076'/18, 'case--checkLHS-9017'/14, 'case--combineLinear-8911'/5, 'case--combineLinear,combine-8856'/7, 'case--combineLinear,lookupAll-8790'/9, 'case--setLinear-8693'/10, 'case--setLinear-8623'/11, 'case--case block in findLinear-8522'/12, 'case--findLinear-8458'/7, 'case--findLinear,findLinArg-8236'/24, 'case--findLinear,accessible-8135'/7, 'case--recoverable-7635'/14, 'case--recoverable-7542'/14, 'case--impossibleOK-7295'/14, 'case--impossibleOK-7208'/14, 'case--mismatchNF-7025'/14, 'case--mismatchNF-6938'/14, 'nested--23555-14797--in--un--withTotality'/14, 'nested--22551-13910--in--un--toErased'/8, 'nested--22551-13911--in--un--toClause'/7, 'nested--23555-14798--in--un--simplePat'/12, 'nested--16460-8756--in--un--notN'/5, 'nested--22551-13905--in--un--mkCrash'/7, 'nested--17504-10647--in--un--mkClauseWith'/22, 'nested--22551-13906--in--un--matchAny'/7, 'nested--22551-13907--in--un--makeErrorClause'/8, 'nested--16460-8757--in--un--lookupAll'/6, 'nested--17504-10646--in--un--keepOldEnv'/22, 'nested--22551-13909--in--un--getSpec'/6, 'nested--23555-14801--in--un--getClause'/11, 'nested--15749-8129--in--un--findLinArg'/10, 'nested--21936-13386--in--un--dropErased'/6, 'nested--16460-8759--in--un--combineAll'/6, 'nested--16460-8758--in--un--combine'/6, 'nested--23575-14902--in--un--closeEnv'/15, 'nested--23555-14800--in--un--checkImpossible'/14, 'nested--23555-14802--in--un--checkCoverage'/15, 'nested--23555-14799--in--un--catchAll'/11, 'nested--22551-13908--in--un--addErrorCase'/6, 'nested--15749-8128--in--un--accessible'/8, 'un--warnUnreachable'/2, 'un--toPats'/1, 'un--setLinear'/3, 'un--recoverableErr'/3, 'un--recoverable'/5, 'un--processDef'/11, 'un--nameListEq'/2, 'un--mkRunTime'/6, 'un--mismatchNF'/5, 'un--mismatch'/4, 'un--impossibleOK'/5, 'un--impossibleErrOK'/3, 'un--ifThenElse'/4, 'un--hasEmptyPat'/5, 'un--findLinear'/6, 'un--extendEnv'/7, 'un--compileRunTime'/6, 'un--combineLinear'/2, 'un--checkLHS'/14, 'un--checkClause'/13, 'un--calcRefs'/5, 'un--applyEnv'/5 ]). 'with--with block in nameListEq-13350'(V0, V1, V2, V3) -> case V2 of {'Idris.Prelude.Types.Just', E0} -> (fun (V4) -> case V4 of {'Idris.Builtin.Refl'} -> (fun () -> {'Idris.Prelude.Types.Just', {'Idris.Builtin.Refl'}} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Nothing'} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'with--nameListEq-13343'(V0, V1, V2, V3, V4) -> case V2 of {'Idris.Prelude.Types.Just', E0} -> (fun (V5) -> case V5 of {'Idris.Builtin.Refl'} -> (fun () -> ('with--with block in nameListEq-13350'(V4, V3, ('un--nameListEq'(V3, V4)), V0)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Nothing'} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'with--extendEnv-8016'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19) -> case V2 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V20) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Can\x{27}t happen: names don\x{27}t match in pattern type"/utf8>>}, V20)) end end()); {'Idris.Prelude.Types.Just', E0} -> (fun (V21) -> case V21 of {'Idris.Builtin.Refl'} -> (fun () -> ('un--extendEnv'('erased', [V0 | V4], {'Idris.Core.Env.::', {'Idris.Core.TT.Let', V14, V13, V11, V12}, V19}, {'Idris.Core.TT.DropCons', V18}, ('Idris.Idris2.TTImp.TTImp':'dn--un--weaken_Weaken__NestedNames'('erased', 'erased', V17)), V15, V16)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'with--extendEnv-7935'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18) -> case V2 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V19) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Can\x{27}t happen: names don\x{27}t match in pattern type"/utf8>>}, V19)) end end()); {'Idris.Prelude.Types.Just', E0} -> (fun (V20) -> case V20 of {'Idris.Builtin.Refl'} -> (fun () -> ('un--extendEnv'('erased', [V0 | V4], {'Idris.Core.Env.::', {'Idris.Core.TT.PVar', V13, V12, V11, V10}, V18}, {'Idris.Core.TT.DropCons', V17}, ('Idris.Idris2.TTImp.TTImp':'dn--un--weaken_Weaken__NestedNames'('erased', 'erased', V16)), V14, V15)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in processDef-16623'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32) -> case V32 of {'Idris.Core.Context.MkDefs', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58) -> {'Idris.Core.Context.MkDefs', V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, [V10 | V53], V54, V55, V56, V57, V58} end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in processDef-16539'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27) -> case V12 of {'Idris.Core.Context.MkGlobalDef', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20} -> (fun (V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48) -> {'Idris.Core.Context.MkGlobalDef', V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, {'Idris.Core.Context.PMDef', ('Idris.Idris2.Core.Context':'un--defaultPI'()), V22, V23, V23, V21}, V46, V47, V48} end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in processDef-16246'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22) -> case V22 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V23, V24) -> case V24 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V25, V26) -> fun (V27) -> begin (V29 = (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V28) -> ('un--warnUnreachable'(V9, V28)) end, V26))(V27))), case V29 of {'Idris.Prelude.Types.Left', E4} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V31) -> begin (V40 = ('Idris.Idris2.Core.Context.Log':'un--logC'(V9, <<"declare.def"/utf8>>, (1 + (1 + 0)), fun (V32) -> begin (V37 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V33) -> fun (V34) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseTree $vars)'('erased', V33, V34)) end end, fun (V35) -> fun (V36) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseTree $vars)'('erased', V35, V36)) end end}, V25, V32))), case V37 of {'Idris.Prelude.Types.Left', E6} -> (fun (V38) -> {'Idris.Prelude.Types.Left', V38} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V39) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Case tree for "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseTree $vars)'(V23, V39))))))))} end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, V27))), case V40 of {'Idris.Prelude.Types.Left', E8} -> (fun (V41) -> {'Idris.Prelude.Types.Left', V41} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V42) -> begin (V64 = ('Idris.Idris2.Core.Context':'un--addDef'(V9, {'Idris.Core.Name.Resolved', V17}, case V12 of {'Idris.Core.Context.MkGlobalDef', E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30} -> (fun (V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63) -> {'Idris.Core.Context.MkGlobalDef', V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, {'Idris.Core.Context.PMDef', ('Idris.Idris2.Core.Context':'un--defaultPI'()), V23, V25, V25, V21}, V61, V62, V63} end(E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V27))), case V64 of {'Idris.Prelude.Types.Left', E31} -> (fun (V65) -> {'Idris.Prelude.Types.Left', V65} end(E31)); {'Idris.Prelude.Types.Right', E32} -> (fun (V66) -> begin (V98 = case ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Visibility'(case V12 of {'Idris.Core.Context.MkGlobalDef', E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55} -> (fun (V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87) -> V76 end(E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, {'Idris.Core.TT.Public'})) of 0 -> ((begin (V88 = ('Idris.Idris2.Core.CaseTree':'un--getMetas'('erased', V25))), fun () -> fun (V89) -> begin (V93 = (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Saving from "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V90) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V90)) end, fun (V91) -> fun (V92) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V91, V92)) end end}, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V88)))))))))) end))(V89))), case V93 of {'Idris.Prelude.Types.Left', E33} -> (fun (V94) -> {'Idris.Prelude.Types.Left', V94} end(E33)); {'Idris.Prelude.Types.Right', E34} -> (fun (V95) -> (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V96) -> fun (V97) -> ('Idris.Idris2.Core.Context':'un--addToSave'(V9, V96, V97)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V88))))(V89)) end(E34)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end())(V27)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V98 of {'Idris.Prelude.Types.Left', E56} -> (fun (V99) -> {'Idris.Prelude.Types.Left', V99} end(E56)); {'Idris.Prelude.Types.Right', E57} -> (fun (V100) -> begin (V146 = case ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Core.Name':'un--isUserName'(V10)), fun () -> ('Idris.Idris2.Core.TT':'dn--un--/=_Eq__Visibility'(case V12 of {'Idris.Core.Context.MkGlobalDef', E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99} -> (fun (V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111, V112, V113, V114, V115, V116, V117, V118, V119, V120, V121) -> V110 end(E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, {'Idris.Core.TT.Private'})) end)) of 0 -> ((begin (V143 = ('Idris.Idris2.Core.TT':'un--getMetas'('erased', case V12 of {'Idris.Core.Context.MkGlobalDef', E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78} -> (fun (V122, V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142) -> V124 end(E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))), fun () -> ('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V144) -> fun (V145) -> ('Idris.Idris2.Core.Context':'un--addToSave'(V9, V144, V145)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V143)))) end end())(V27)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V146 of {'Idris.Prelude.Types.Left', E100} -> (fun (V147) -> {'Idris.Prelude.Types.Left', V147} end(E100)); {'Idris.Prelude.Types.Right', E101} -> (fun (V148) -> begin (V149 = ('Idris.Idris2.Core.Context':'un--addToSave'(V9, V10, V27))), case V149 of {'Idris.Prelude.Types.Left', E102} -> (fun (V150) -> {'Idris.Prelude.Types.Left', V150} end(E102)); {'Idris.Prelude.Types.Right', E103} -> (fun (V151) -> begin (V180 = begin (V179 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V152) -> fun (V153) -> fun (V154) -> fun (V155) -> fun (V156) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V154, V155, V156)) end end end end end, fun (V157) -> fun (V158) -> fun (V159) -> V158 end end end, fun (V160) -> fun (V161) -> fun (V162) -> fun (V163) -> fun (V164) -> begin (V165 = (V162(V164))), begin (V166 = (V163(V164))), (V165(V166)) end end end end end end end}, fun (V167) -> fun (V168) -> fun (V169) -> fun (V170) -> fun (V171) -> begin (V172 = (V169(V171))), ((V170(V172))(V171)) end end end end end end, fun (V173) -> fun (V174) -> fun (V175) -> begin (V176 = (V174(V175))), (V176(V175)) end end end end}, fun (V177) -> fun (V178) -> V178 end end}, V9))(V27))), {'Idris.Prelude.Types.Right', V179} end), case V180 of {'Idris.Prelude.Types.Left', E104} -> (fun (V181) -> {'Idris.Prelude.Types.Left', V181} end(E104)); {'Idris.Prelude.Types.Right', E105} -> (fun (V182) -> begin (V237 = begin (V236 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V183) -> fun (V184) -> fun (V185) -> fun (V186) -> fun (V187) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V185, V186, V187)) end end end end end, fun (V188) -> fun (V189) -> fun (V190) -> V189 end end end, fun (V191) -> fun (V192) -> fun (V193) -> fun (V194) -> fun (V195) -> begin (V196 = (V193(V195))), begin (V197 = (V194(V195))), (V196(V197)) end end end end end end end}, fun (V198) -> fun (V199) -> fun (V200) -> fun (V201) -> fun (V202) -> begin (V203 = (V200(V202))), ((V201(V203))(V202)) end end end end end end, fun (V204) -> fun (V205) -> fun (V206) -> begin (V207 = (V205(V206))), (V207(V206)) end end end end}, fun (V208) -> fun (V209) -> V209 end end}, V9, case V182 of {'Idris.Core.Context.MkDefs', E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131} -> (fun (V210, V211, V212, V213, V214, V215, V216, V217, V218, V219, V220, V221, V222, V223, V224, V225, V226, V227, V228, V229, V230, V231, V232, V233, V234, V235) -> {'Idris.Core.Context.MkDefs', V210, V211, V212, V213, V214, V215, V216, V217, V218, V219, V220, V221, V222, V223, V224, V225, V226, V227, V228, V229, [V10 | V230], V231, V232, V233, V234, V235} end(E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V27))), {'Idris.Prelude.Types.Right', V236} end), case V237 of {'Idris.Prelude.Types.Left', E132} -> (fun (V238) -> {'Idris.Prelude.Types.Left', V238} end(E132)); {'Idris.Prelude.Types.Right', E133} -> (fun (V239) -> begin (V244 = ('Idris.Idris2.Core.Context':'un--toResolvedNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V240) -> fun (V241) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(V240, V241)) end end, fun (V242) -> fun (V243) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Name'(V242, V243)) end end}, {'Idris.Core.Name.NS', ('Idris.Idris2.Core.Name.Namespace':'un--builtinNS'()), {'Idris.Core.Name.UN', <<"assert_total"/utf8>>}}, V27))), case V244 of {'Idris.Prelude.Types.Left', E134} -> (fun (V245) -> {'Idris.Prelude.Types.Left', V245} end(E134)); {'Idris.Prelude.Types.Right', E135} -> (fun (V246) -> begin (V260 = case ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Prelude.Types':'un--elem'('erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V247) -> fun (V248) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--==_Eq__ElabOpt'(V247, V248)) end end, fun (V249) -> fun (V250) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--/=_Eq__ElabOpt'(V249, V250)) end end}, {'Idris.TTImp.Elab.Check.InCase'}, V6)))) of 0 -> begin (V251 = ('un--calcRefs'(V9, 1, V246, {'Idris.Core.Name.Resolved', V17}, V27))), case V251 of {'Idris.Prelude.Types.Left', E136} -> (fun (V252) -> {'Idris.Prelude.Types.Left', V252} end(E136)); {'Idris.Prelude.Types.Right', E137} -> (fun (V253) -> begin (V254 = ('Idris.Idris2.Core.Termination':'un--calculateSizeChange'(V9, V3, V10, V27))), case V254 of {'Idris.Prelude.Types.Left', E138} -> (fun (V255) -> {'Idris.Prelude.Types.Left', V255} end(E138)); {'Idris.Prelude.Types.Right', E139} -> (fun (V256) -> begin (V257 = ('Idris.Idris2.Core.Context':'un--setSizeChange'(V9, V3, V10, V256, V27))), case V257 of {'Idris.Prelude.Types.Left', E140} -> (fun (V258) -> {'Idris.Prelude.Types.Left', V258} end(E140)); {'Idris.Prelude.Types.Right', E141} -> (fun (V259) -> ('Idris.Idris2.Core.Termination':'un--checkIfGuarded'(V9, V3, V10, V27)) end(E141)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E139)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E137)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V260 of {'Idris.Prelude.Types.Left', E142} -> (fun (V261) -> {'Idris.Prelude.Types.Left', V261} end(E142)); {'Idris.Prelude.Types.Right', E143} -> (fun (V262) -> begin (V291 = begin (V290 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V263) -> fun (V264) -> fun (V265) -> fun (V266) -> fun (V267) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V265, V266, V267)) end end end end end, fun (V268) -> fun (V269) -> fun (V270) -> V269 end end end, fun (V271) -> fun (V272) -> fun (V273) -> fun (V274) -> fun (V275) -> begin (V276 = (V273(V275))), begin (V277 = (V274(V275))), (V276(V277)) end end end end end end end}, fun (V278) -> fun (V279) -> fun (V280) -> fun (V281) -> fun (V282) -> begin (V283 = (V280(V282))), ((V281(V283))(V282)) end end end end end end, fun (V284) -> fun (V285) -> fun (V286) -> begin (V287 = (V285(V286))), (V287(V286)) end end end end}, fun (V288) -> fun (V289) -> V289 end end}, V8))(V27))), {'Idris.Prelude.Types.Right', V290} end), case V291 of {'Idris.Prelude.Types.Left', E144} -> (fun (V292) -> {'Idris.Prelude.Types.Left', V292} end(E144)); {'Idris.Prelude.Types.Right', E145} -> (fun (V293) -> begin (V294 = ('nested--23555-14802--in--un--checkCoverage'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V17, V14, V16, V20, V27))), case V294 of {'Idris.Prelude.Types.Left', E146} -> (fun (V295) -> {'Idris.Prelude.Types.Left', V295} end(E146)); {'Idris.Prelude.Types.Right', E147} -> (fun (V296) -> begin (V297 = ('Idris.Idris2.Core.Context':'un--setCovering'(V9, V3, V10, V296, V27))), case V297 of {'Idris.Prelude.Types.Left', E148} -> (fun (V298) -> {'Idris.Prelude.Types.Left', V298} end(E148)); {'Idris.Prelude.Types.Right', E149} -> (fun (V299) -> begin (V328 = begin (V327 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V300) -> fun (V301) -> fun (V302) -> fun (V303) -> fun (V304) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V302, V303, V304)) end end end end end, fun (V305) -> fun (V306) -> fun (V307) -> V306 end end end, fun (V308) -> fun (V309) -> fun (V310) -> fun (V311) -> fun (V312) -> begin (V313 = (V310(V312))), begin (V314 = (V311(V312))), (V313(V314)) end end end end end end end}, fun (V315) -> fun (V316) -> fun (V317) -> fun (V318) -> fun (V319) -> begin (V320 = (V317(V319))), ((V318(V320))(V319)) end end end end end end, fun (V321) -> fun (V322) -> fun (V323) -> begin (V324 = (V322(V323))), (V324(V323)) end end end end}, fun (V325) -> fun (V326) -> V326 end end}, V8, V293))(V27))), {'Idris.Prelude.Types.Right', V327} end), case V328 of {'Idris.Prelude.Types.Left', E150} -> (fun (V329) -> {'Idris.Prelude.Types.Left', V329} end(E150)); {'Idris.Prelude.Types.Right', E151} -> (fun (V330) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Prelude.Types':'un--elem'('erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V331) -> fun (V332) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--==_Eq__ElabOpt'(V331, V332)) end end, fun (V333) -> fun (V334) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--/=_Eq__ElabOpt'(V333, V334)) end end}, {'Idris.TTImp.Elab.Check.InCase'}, V6)))) of 0 -> ('un--compileRunTime'(V9, V8, V7, V3, V246, V27)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E151)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E149)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E147)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E145)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E143)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E135)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E133)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E105)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E103)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E101)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E57)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E32)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in processDef-16130'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16) -> case V16 of 0 -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V17) -> fun (V18) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V17, V18)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V19) -> fun (V20) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V19, V20)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})); 1 -> ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V21) -> fun (V22) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V21, V22)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V23) -> fun (V24) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V23, V24)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in processDef-16084'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Core.Context.None'} -> (fun () -> begin (V36 = case V12 of {'Idris.Core.Context.MkGlobalDef', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20} -> (fun (V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35) -> V17 end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), begin (V58 = ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Visibility'(case V12 of {'Idris.Core.Context.MkGlobalDef', E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41} -> (fun (V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57) -> V46 end(E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, {'Idris.Core.TT.Public'}))), begin (V88 = ('case--case block in case block in processDef-16130'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V36, V58, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V59) -> fun (V60) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V59, V60)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V61) -> fun (V62) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V61, V62)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V63) -> fun (V64) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V63, V64)) end end, fun (V65) -> fun (V66) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V65, V66)) end end}}, case V12 of {'Idris.Core.Context.MkGlobalDef', E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62} -> (fun (V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87) -> V74 end(E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))), fun (V89) -> begin (V90 = (('Idris.Idris2.Core.Context':'un--resolveName'(V9, V10))(V89))), case V90 of {'Idris.Prelude.Types.Left', E63} -> (fun (V91) -> {'Idris.Prelude.Types.Left', V91} end(E63)); {'Idris.Prelude.Types.Right', E64} -> (fun (V92) -> begin (V93 = ('Idris.Idris2.Core.Context':'un--getDefaultTotalityOption'(V9, V89))), case V93 of {'Idris.Prelude.Types.Left', E65} -> (fun (V94) -> {'Idris.Prelude.Types.Left', V94} end(E65)); {'Idris.Prelude.Types.Right', E66} -> (fun (V95) -> begin (V117 = ('Idris.Idris2.Data.Maybe':'un--fromMaybe'('erased', fun () -> V95 end, ('Idris.Idris2.Core.Context':'un--findSetTotal'(case V12 of {'Idris.Core.Context.MkGlobalDef', E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87} -> (fun (V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111, V112, V113, V114, V115, V116) -> V107 end(E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))), begin (V140 = ('nested--23555-14797--in--un--withTotality'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V117, fun () -> ('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V118) -> ('un--checkClause'(V0, V9, V8, V7, V88, case V12 of {'Idris.Core.Context.MkGlobalDef', E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108} -> (fun (V119, V120, V121, V122, V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139) -> V128 end(E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V117, V58, V92, V6, V5, V4, V118)) end, V1)) end, V89))), case V140 of {'Idris.Prelude.Types.Left', E109} -> (fun (V141) -> {'Idris.Prelude.Types.Left', V141} end(E109)); {'Idris.Prelude.Types.Right', E110} -> (fun (V142) -> begin (V144 = ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V143) -> ('un--toPats'(V143)) end, ('Idris.Idris2.Data.Either':'un--rights'('erased', 'erased', V142))))), begin (V145 = (('Idris.Idris2.Core.CaseBuilder':'un--getPMDef'(V9, V3, {'Idris.Core.CaseBuilder.CompileTime', V88}, V10, V36, ('Idris.Idris2.Data.Either':'un--rights'('erased', 'erased', V142))))(V89))), case V145 of {'Idris.Prelude.Types.Left', E111} -> (fun (V146) -> {'Idris.Prelude.Types.Left', V146} end(E111)); {'Idris.Prelude.Types.Right', E112} -> (fun (V147) -> case V147 of {'Idris.Builtin.DPair.MkDPair', E113, E114} -> (fun (V148, V149) -> case V149 of {'Idris.Builtin.MkPair', E115, E116} -> (fun (V150, V151) -> begin (V153 = (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V152) -> ('un--warnUnreachable'(V9, V152)) end, V151))(V89))), case V153 of {'Idris.Prelude.Types.Left', E117} -> (fun (V154) -> {'Idris.Prelude.Types.Left', V154} end(E117)); {'Idris.Prelude.Types.Right', E118} -> (fun (V155) -> begin (V164 = ('Idris.Idris2.Core.Context.Log':'un--logC'(V9, <<"declare.def"/utf8>>, (1 + (1 + 0)), fun (V156) -> begin (V161 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V157) -> fun (V158) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseTree $vars)'('erased', V157, V158)) end end, fun (V159) -> fun (V160) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseTree $vars)'('erased', V159, V160)) end end}, V150, V156))), case V161 of {'Idris.Prelude.Types.Left', E119} -> (fun (V162) -> {'Idris.Prelude.Types.Left', V162} end(E119)); {'Idris.Prelude.Types.Right', E120} -> (fun (V163) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Case tree for "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseTree $vars)'(V148, V163))))))))} end(E120)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, V89))), case V164 of {'Idris.Prelude.Types.Left', E121} -> (fun (V165) -> {'Idris.Prelude.Types.Left', V165} end(E121)); {'Idris.Prelude.Types.Right', E122} -> (fun (V166) -> begin (V188 = ('Idris.Idris2.Core.Context':'un--addDef'(V9, {'Idris.Core.Name.Resolved', V92}, case V12 of {'Idris.Core.Context.MkGlobalDef', E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140, E141, E142, E143} -> (fun (V167, V168, V169, V170, V171, V172, V173, V174, V175, V176, V177, V178, V179, V180, V181, V182, V183, V184, V185, V186, V187) -> {'Idris.Core.Context.MkGlobalDef', V167, V168, V169, V170, V171, V172, V173, V174, V175, V176, V177, V178, V179, V180, V181, V182, V183, {'Idris.Core.Context.PMDef', ('Idris.Idris2.Core.Context':'un--defaultPI'()), V148, V150, V150, V144}, V185, V186, V187} end(E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140, E141, E142, E143)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V89))), case V188 of {'Idris.Prelude.Types.Left', E144} -> (fun (V189) -> {'Idris.Prelude.Types.Left', V189} end(E144)); {'Idris.Prelude.Types.Right', E145} -> (fun (V190) -> begin (V222 = case ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Visibility'(case V12 of {'Idris.Core.Context.MkGlobalDef', E148, E149, E150, E151, E152, E153, E154, E155, E156, E157, E158, E159, E160, E161, E162, E163, E164, E165, E166, E167, E168} -> (fun (V191, V192, V193, V194, V195, V196, V197, V198, V199, V200, V201, V202, V203, V204, V205, V206, V207, V208, V209, V210, V211) -> V200 end(E148, E149, E150, E151, E152, E153, E154, E155, E156, E157, E158, E159, E160, E161, E162, E163, E164, E165, E166, E167, E168)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, {'Idris.Core.TT.Public'})) of 0 -> ((begin (V212 = ('Idris.Idris2.Core.CaseTree':'un--getMetas'('erased', V150))), fun () -> fun (V213) -> begin (V217 = (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Saving from "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V214) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V214)) end, fun (V215) -> fun (V216) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V215, V216)) end end}, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V212)))))))))) end))(V213))), case V217 of {'Idris.Prelude.Types.Left', E146} -> (fun (V218) -> {'Idris.Prelude.Types.Left', V218} end(E146)); {'Idris.Prelude.Types.Right', E147} -> (fun (V219) -> (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V220) -> fun (V221) -> ('Idris.Idris2.Core.Context':'un--addToSave'(V9, V220, V221)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V212))))(V213)) end(E147)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end())(V89)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V222 of {'Idris.Prelude.Types.Left', E169} -> (fun (V223) -> {'Idris.Prelude.Types.Left', V223} end(E169)); {'Idris.Prelude.Types.Right', E170} -> (fun (V224) -> begin (V270 = case ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Core.Name':'un--isUserName'(V10)), fun () -> ('Idris.Idris2.Core.TT':'dn--un--/=_Eq__Visibility'(case V12 of {'Idris.Core.Context.MkGlobalDef', E192, E193, E194, E195, E196, E197, E198, E199, E200, E201, E202, E203, E204, E205, E206, E207, E208, E209, E210, E211, E212} -> (fun (V225, V226, V227, V228, V229, V230, V231, V232, V233, V234, V235, V236, V237, V238, V239, V240, V241, V242, V243, V244, V245) -> V234 end(E192, E193, E194, E195, E196, E197, E198, E199, E200, E201, E202, E203, E204, E205, E206, E207, E208, E209, E210, E211, E212)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, {'Idris.Core.TT.Private'})) end)) of 0 -> ((begin (V267 = ('Idris.Idris2.Core.TT':'un--getMetas'('erased', case V12 of {'Idris.Core.Context.MkGlobalDef', E171, E172, E173, E174, E175, E176, E177, E178, E179, E180, E181, E182, E183, E184, E185, E186, E187, E188, E189, E190, E191} -> (fun (V246, V247, V248, V249, V250, V251, V252, V253, V254, V255, V256, V257, V258, V259, V260, V261, V262, V263, V264, V265, V266) -> V248 end(E171, E172, E173, E174, E175, E176, E177, E178, E179, E180, E181, E182, E183, E184, E185, E186, E187, E188, E189, E190, E191)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))), fun () -> ('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V268) -> fun (V269) -> ('Idris.Idris2.Core.Context':'un--addToSave'(V9, V268, V269)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V267)))) end end())(V89)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V270 of {'Idris.Prelude.Types.Left', E213} -> (fun (V271) -> {'Idris.Prelude.Types.Left', V271} end(E213)); {'Idris.Prelude.Types.Right', E214} -> (fun (V272) -> begin (V273 = ('Idris.Idris2.Core.Context':'un--addToSave'(V9, V10, V89))), case V273 of {'Idris.Prelude.Types.Left', E215} -> (fun (V274) -> {'Idris.Prelude.Types.Left', V274} end(E215)); {'Idris.Prelude.Types.Right', E216} -> (fun (V275) -> begin (V304 = begin (V303 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V276) -> fun (V277) -> fun (V278) -> fun (V279) -> fun (V280) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V278, V279, V280)) end end end end end, fun (V281) -> fun (V282) -> fun (V283) -> V282 end end end, fun (V284) -> fun (V285) -> fun (V286) -> fun (V287) -> fun (V288) -> begin (V289 = (V286(V288))), begin (V290 = (V287(V288))), (V289(V290)) end end end end end end end}, fun (V291) -> fun (V292) -> fun (V293) -> fun (V294) -> fun (V295) -> begin (V296 = (V293(V295))), ((V294(V296))(V295)) end end end end end end, fun (V297) -> fun (V298) -> fun (V299) -> begin (V300 = (V298(V299))), (V300(V299)) end end end end}, fun (V301) -> fun (V302) -> V302 end end}, V9))(V89))), {'Idris.Prelude.Types.Right', V303} end), case V304 of {'Idris.Prelude.Types.Left', E217} -> (fun (V305) -> {'Idris.Prelude.Types.Left', V305} end(E217)); {'Idris.Prelude.Types.Right', E218} -> (fun (V306) -> begin (V361 = begin (V360 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V307) -> fun (V308) -> fun (V309) -> fun (V310) -> fun (V311) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V309, V310, V311)) end end end end end, fun (V312) -> fun (V313) -> fun (V314) -> V313 end end end, fun (V315) -> fun (V316) -> fun (V317) -> fun (V318) -> fun (V319) -> begin (V320 = (V317(V319))), begin (V321 = (V318(V319))), (V320(V321)) end end end end end end end}, fun (V322) -> fun (V323) -> fun (V324) -> fun (V325) -> fun (V326) -> begin (V327 = (V324(V326))), ((V325(V327))(V326)) end end end end end end, fun (V328) -> fun (V329) -> fun (V330) -> begin (V331 = (V329(V330))), (V331(V330)) end end end end}, fun (V332) -> fun (V333) -> V333 end end}, V9, case V306 of {'Idris.Core.Context.MkDefs', E219, E220, E221, E222, E223, E224, E225, E226, E227, E228, E229, E230, E231, E232, E233, E234, E235, E236, E237, E238, E239, E240, E241, E242, E243, E244} -> (fun (V334, V335, V336, V337, V338, V339, V340, V341, V342, V343, V344, V345, V346, V347, V348, V349, V350, V351, V352, V353, V354, V355, V356, V357, V358, V359) -> {'Idris.Core.Context.MkDefs', V334, V335, V336, V337, V338, V339, V340, V341, V342, V343, V344, V345, V346, V347, V348, V349, V350, V351, V352, V353, [V10 | V354], V355, V356, V357, V358, V359} end(E219, E220, E221, E222, E223, E224, E225, E226, E227, E228, E229, E230, E231, E232, E233, E234, E235, E236, E237, E238, E239, E240, E241, E242, E243, E244)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V89))), {'Idris.Prelude.Types.Right', V360} end), case V361 of {'Idris.Prelude.Types.Left', E245} -> (fun (V362) -> {'Idris.Prelude.Types.Left', V362} end(E245)); {'Idris.Prelude.Types.Right', E246} -> (fun (V363) -> begin (V368 = ('Idris.Idris2.Core.Context':'un--toResolvedNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V364) -> fun (V365) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(V364, V365)) end end, fun (V366) -> fun (V367) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Name'(V366, V367)) end end}, {'Idris.Core.Name.NS', ('Idris.Idris2.Core.Name.Namespace':'un--builtinNS'()), {'Idris.Core.Name.UN', <<"assert_total"/utf8>>}}, V89))), case V368 of {'Idris.Prelude.Types.Left', E247} -> (fun (V369) -> {'Idris.Prelude.Types.Left', V369} end(E247)); {'Idris.Prelude.Types.Right', E248} -> (fun (V370) -> begin (V384 = case ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Prelude.Types':'un--elem'('erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V371) -> fun (V372) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--==_Eq__ElabOpt'(V371, V372)) end end, fun (V373) -> fun (V374) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--/=_Eq__ElabOpt'(V373, V374)) end end}, {'Idris.TTImp.Elab.Check.InCase'}, V6)))) of 0 -> begin (V375 = ('un--calcRefs'(V9, 1, V370, {'Idris.Core.Name.Resolved', V92}, V89))), case V375 of {'Idris.Prelude.Types.Left', E249} -> (fun (V376) -> {'Idris.Prelude.Types.Left', V376} end(E249)); {'Idris.Prelude.Types.Right', E250} -> (fun (V377) -> begin (V378 = ('Idris.Idris2.Core.Termination':'un--calculateSizeChange'(V9, V3, V10, V89))), case V378 of {'Idris.Prelude.Types.Left', E251} -> (fun (V379) -> {'Idris.Prelude.Types.Left', V379} end(E251)); {'Idris.Prelude.Types.Right', E252} -> (fun (V380) -> begin (V381 = ('Idris.Idris2.Core.Context':'un--setSizeChange'(V9, V3, V10, V380, V89))), case V381 of {'Idris.Prelude.Types.Left', E253} -> (fun (V382) -> {'Idris.Prelude.Types.Left', V382} end(E253)); {'Idris.Prelude.Types.Right', E254} -> (fun (V383) -> ('Idris.Idris2.Core.Termination':'un--checkIfGuarded'(V9, V3, V10, V89)) end(E254)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E252)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E250)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V384 of {'Idris.Prelude.Types.Left', E255} -> (fun (V385) -> {'Idris.Prelude.Types.Left', V385} end(E255)); {'Idris.Prelude.Types.Right', E256} -> (fun (V386) -> begin (V415 = begin (V414 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V387) -> fun (V388) -> fun (V389) -> fun (V390) -> fun (V391) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V389, V390, V391)) end end end end end, fun (V392) -> fun (V393) -> fun (V394) -> V393 end end end, fun (V395) -> fun (V396) -> fun (V397) -> fun (V398) -> fun (V399) -> begin (V400 = (V397(V399))), begin (V401 = (V398(V399))), (V400(V401)) end end end end end end end}, fun (V402) -> fun (V403) -> fun (V404) -> fun (V405) -> fun (V406) -> begin (V407 = (V404(V406))), ((V405(V407))(V406)) end end end end end end, fun (V408) -> fun (V409) -> fun (V410) -> begin (V411 = (V409(V410))), (V411(V410)) end end end end}, fun (V412) -> fun (V413) -> V413 end end}, V8))(V89))), {'Idris.Prelude.Types.Right', V414} end), case V415 of {'Idris.Prelude.Types.Left', E257} -> (fun (V416) -> {'Idris.Prelude.Types.Left', V416} end(E257)); {'Idris.Prelude.Types.Right', E258} -> (fun (V417) -> begin (V418 = ('nested--23555-14802--in--un--checkCoverage'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V92, V36, V88, V142, V89))), case V418 of {'Idris.Prelude.Types.Left', E259} -> (fun (V419) -> {'Idris.Prelude.Types.Left', V419} end(E259)); {'Idris.Prelude.Types.Right', E260} -> (fun (V420) -> begin (V421 = ('Idris.Idris2.Core.Context':'un--setCovering'(V9, V3, V10, V420, V89))), case V421 of {'Idris.Prelude.Types.Left', E261} -> (fun (V422) -> {'Idris.Prelude.Types.Left', V422} end(E261)); {'Idris.Prelude.Types.Right', E262} -> (fun (V423) -> begin (V452 = begin (V451 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V424) -> fun (V425) -> fun (V426) -> fun (V427) -> fun (V428) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V426, V427, V428)) end end end end end, fun (V429) -> fun (V430) -> fun (V431) -> V430 end end end, fun (V432) -> fun (V433) -> fun (V434) -> fun (V435) -> fun (V436) -> begin (V437 = (V434(V436))), begin (V438 = (V435(V436))), (V437(V438)) end end end end end end end}, fun (V439) -> fun (V440) -> fun (V441) -> fun (V442) -> fun (V443) -> begin (V444 = (V441(V443))), ((V442(V444))(V443)) end end end end end end, fun (V445) -> fun (V446) -> fun (V447) -> begin (V448 = (V446(V447))), (V448(V447)) end end end end}, fun (V449) -> fun (V450) -> V450 end end}, V8, V417))(V89))), {'Idris.Prelude.Types.Right', V451} end), case V452 of {'Idris.Prelude.Types.Left', E263} -> (fun (V453) -> {'Idris.Prelude.Types.Left', V453} end(E263)); {'Idris.Prelude.Types.Right', E264} -> (fun (V454) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Prelude.Types':'un--elem'('erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V455) -> fun (V456) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--==_Eq__ElabOpt'(V455, V456)) end end, fun (V457) -> fun (V458) -> ('Idris.Idris2.TTImp.Elab.Check':'dn--un--/=_Eq__ElabOpt'(V457, V458)) end end}, {'Idris.TTImp.Elab.Check.InCase'}, V6)))) of 0 -> ('un--compileRunTime'(V9, V8, V7, V3, V370, V89)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E264)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E262)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E260)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E258)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E256)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E248)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E246)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E218)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E216)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E214)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E170)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E145)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E122)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E118)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E115, E116)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E113, E114)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E112)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E110)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E66)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E64)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end end()); _ -> fun (V459) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.AlreadyDefined', V3, V10}, V459)) end end. 'case--processDef-16054'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Prelude.Types.Just', E0} -> (fun (V13) -> begin (V14 = {'Idris.Prelude.Types.Just', V13}), ('case--case block in processDef-16084'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V13, V14, case V13 of {'Idris.Core.Context.MkGlobalDef', E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21} -> (fun (V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35) -> V32 end(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V36) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.NoDeclaration', V3, V10}, V36)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in processDef,checkCoverage-15866'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26) -> case V26 of [] -> fun (V27) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.IsCovering'}} end; _ -> fun (V28) -> ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V29) -> fun (V30) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Covering'(V29, V30)) end end, fun (V31) -> fun (V32) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Covering'(V31, V32)) end end}, {'Idris.Core.TT.NonCoveringCall', V26}, V28)) end end. 'case--case block in processDef,checkCoverage-15802'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26) -> case V26 of 0 -> fun (V27) -> begin (V28 = ('Idris.Idris2.Core.Coverage':'un--getNonCoveringRefs'(V9, V3, {'Idris.Core.Name.Resolved', V13}, V27))), case V28 of {'Idris.Prelude.Types.Left', E0} -> (fun (V29) -> {'Idris.Prelude.Types.Left', V29} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V30) -> case V30 of [] -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.IsCovering'}}; _ -> ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V31) -> fun (V32) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Covering'(V31, V32)) end end, fun (V33) -> fun (V34) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Covering'(V33, V34)) end end}, {'Idris.Core.TT.NonCoveringCall', V30}, V27)) end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V35) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.MissingCases', V25}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in processDef,checkCoverage-15687'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21) -> case V21 of 0 -> fun (V22) -> begin (V23 = (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + 0))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Catch all case in "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__Int'(V13)))) end))(V22))), case V23 of {'Idris.Prelude.Types.Left', E0} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V25) -> {'Idris.Prelude.Types.Right', []} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V26) -> ('Idris.Idris2.Core.Coverage':'un--getMissing'(V17, V9, V3, {'Idris.Core.Name.Resolved', V13}, V18, V26)) end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--processDef,checkCoverage-15518'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16) -> case V16 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V17, V18) -> case V18 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V19, V20) -> fun (V21) -> begin (V29 = begin (V26 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V22) -> fun (V23) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseTree $vars)'('erased', V22, V23)) end end, fun (V24) -> fun (V25) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseTree $vars)'('erased', V24, V25)) end end}, V19, V21))), case V26 of {'Idris.Prelude.Types.Left', E4} -> (fun (V27) -> {'Idris.Prelude.Types.Left', V27} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V28) -> (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + 0))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Working from "/utf8>>, ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseTree $vars)'(V17, V28)))) end))(V21)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V29 of {'Idris.Prelude.Types.Left', E6} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V31) -> begin (V44 = begin (V32 = {'Idris.Builtin.DPair.MkDPair', V17, {'Idris.Builtin.MkPair', V19, V20}}), (('case--case block in processDef,checkCoverage-15687'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V20, V17, V19, V32, V31, (('Idris.Idris2.Prelude.Interfaces':'un--any'('erased', 'erased', {'Idris.Prelude.Interfaces.dn--un--__mkFoldable', fun (V33) -> fun (V34) -> fun (V35) -> fun (V36) -> fun (V37) -> ('Idris.Idris2.Prelude.Types':'dn--un--foldr_Foldable__List'('erased', 'erased', V35, V36, V37)) end end end end end, fun (V38) -> fun (V39) -> fun (V40) -> fun (V41) -> fun (V42) -> ('Idris.Idris2.Prelude.Types':'dn--un--foldl_Foldable__List'('erased', 'erased', V40, V41, V42)) end end end end end}, fun (V43) -> ('nested--23555-14799--in--un--catchAll'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V43)) end))(V15))))(V21)) end), case V44 of {'Idris.Prelude.Types.Left', E8} -> (fun (V45) -> {'Idris.Prelude.Types.Left', V45} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V46) -> begin (V61 = ('Idris.Idris2.Core.Context.Log':'un--logC'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + 0))), fun (V47) -> begin (V54 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V48) -> fun (V49) -> ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V50) -> fun (V51) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V50, V51)) end end, fun (V52) -> fun (V53) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V52, V53)) end end}, V48, V49)) end end, V46))(V47))), case V54 of {'Idris.Prelude.Types.Left', E10} -> (fun (V55) -> {'Idris.Prelude.Types.Left', V55} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V56) -> begin (V57 = (('Idris.Idris2.Core.Context':'un--getFullName'(V9, {'Idris.Core.Name.Resolved', V13}))(V47))), case V57 of {'Idris.Prelude.Types.Left', E12} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V59) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Initially missing in "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V59)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<":\x{a}"/utf8>>, ('Idris.Idris2.Core.Name.Namespace':'un--showSep'(<<"\x{a}"/utf8>>, ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V60) -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'([], V60)) end, V56))))))))))} end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, V21))), case V61 of {'Idris.Prelude.Types.Left', E14} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V63) -> begin (V66 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V64) -> fun (V65) -> ('nested--23555-14800--in--un--checkImpossible'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V13, V11, V64, V65)) end end, V46))(V21))), case V66 of {'Idris.Prelude.Types.Left', E16} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V68) -> begin (V72 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V69) -> fun (V70) -> ('Idris.Idris2.Core.Coverage':'un--checkMatched'(V9, V15, V69, V70)) end end, ('Idris.Idris2.Data.List':'un--mapMaybe'('erased', 'erased', fun (V71) -> V71 end, V68))))(V21))), case V72 of {'Idris.Prelude.Types.Left', E18} -> (fun (V73) -> {'Idris.Prelude.Types.Left', V73} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V74) -> begin (V76 = ('Idris.Idris2.Data.List':'un--mapMaybe'('erased', 'erased', fun (V75) -> V75 end, V74))), begin (V77 = {'Idris.Builtin.DPair.MkDPair', V17, {'Idris.Builtin.MkPair', V19, V20}}), (('case--case block in processDef,checkCoverage-15802'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V20, V17, V19, V77, V31, V46, V63, V68, V74, V76, ('Idris.Idris2.Data.List':'un--isNil'('erased', V76))))(V21)) end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--processDef,checkImpossible-15332'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of 0 -> fun (V18) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end; 1 -> fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V10}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in processDef,checkImpossible-15171'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27) -> case V27 of 0 -> fun (V28) -> begin (V57 = begin (V56 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V29) -> fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V31, V32, V33)) end end end end end, fun (V34) -> fun (V35) -> fun (V36) -> V35 end end end, fun (V37) -> fun (V38) -> fun (V39) -> fun (V40) -> fun (V41) -> begin (V42 = (V39(V41))), begin (V43 = (V40(V41))), (V42(V43)) end end end end end end end}, fun (V44) -> fun (V45) -> fun (V46) -> fun (V47) -> fun (V48) -> begin (V49 = (V46(V48))), ((V47(V49))(V48)) end end end end end end, fun (V50) -> fun (V51) -> fun (V52) -> begin (V53 = (V51(V52))), (V53(V52)) end end end end}, fun (V54) -> fun (V55) -> V55 end end}, V9, V14))(V28))), {'Idris.Prelude.Types.Right', V56} end), case V57 of {'Idris.Prelude.Types.Left', E0} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V59) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V60) -> begin (V61 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V14, V60))), case V61 of {'Idris.Prelude.Types.Left', E2} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V63) -> begin (V67 = begin (V64 = (('Idris.Idris2.Core.Normalise':'un--nf'(V9, [], V63, {'Idris.Core.Env.Nil'}, V26))(V60))), case V64 of {'Idris.Prelude.Types.Left', E4} -> (fun (V65) -> {'Idris.Prelude.Types.Left', V65} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V66) -> (('nested--23575-14902--in--un--closeEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V63, V66))(V60)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V67 of {'Idris.Prelude.Types.Left', E6} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V69) -> begin (V98 = begin (V97 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V70) -> fun (V71) -> fun (V72) -> fun (V73) -> fun (V74) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V72, V73, V74)) end end end end end, fun (V75) -> fun (V76) -> fun (V77) -> V76 end end end, fun (V78) -> fun (V79) -> fun (V80) -> fun (V81) -> fun (V82) -> begin (V83 = (V80(V82))), begin (V84 = (V81(V82))), (V83(V84)) end end end end end end end}, fun (V85) -> fun (V86) -> fun (V87) -> fun (V88) -> fun (V89) -> begin (V90 = (V87(V89))), ((V88(V90))(V89)) end end end end end end, fun (V91) -> fun (V92) -> fun (V93) -> begin (V94 = (V92(V93))), (V94(V93)) end end end end}, fun (V95) -> fun (V96) -> V96 end end}, V9, V14))(V60))), {'Idris.Prelude.Types.Right', V97} end), case V98 of {'Idris.Prelude.Types.Left', E8} -> (fun (V99) -> {'Idris.Prelude.Types.Left', V99} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V100) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V69}} end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in processDef,checkImpossible-15092'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22) -> case V22 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V23, V24) -> fun (V25) -> begin (V54 = begin (V53 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V26) -> fun (V27) -> fun (V28) -> fun (V29) -> fun (V30) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V28, V29, V30)) end end end end end, fun (V31) -> fun (V32) -> fun (V33) -> V32 end end end, fun (V34) -> fun (V35) -> fun (V36) -> fun (V37) -> fun (V38) -> begin (V39 = (V36(V38))), begin (V40 = (V37(V38))), (V39(V40)) end end end end end end end}, fun (V41) -> fun (V42) -> fun (V43) -> fun (V44) -> fun (V45) -> begin (V46 = (V43(V45))), ((V44(V46))(V45)) end end end end end end, fun (V47) -> fun (V48) -> fun (V49) -> begin (V50 = (V48(V49))), (V50(V49)) end end end end}, fun (V51) -> fun (V52) -> V52 end end}, V9))(V25))), {'Idris.Prelude.Types.Right', V53} end), case V54 of {'Idris.Prelude.Types.Left', E2} -> (fun (V55) -> {'Idris.Prelude.Types.Left', V55} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V56) -> begin (V57 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V9, [], V56, {'Idris.Core.Env.Nil'}, V23, V25))), case V57 of {'Idris.Prelude.Types.Left', E4} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V59) -> begin (V60 = (('un--hasEmptyPat'([], V9, V56, {'Idris.Core.Env.Nil'}, V59))(V25))), case V60 of {'Idris.Prelude.Types.Left', E6} -> (fun (V61) -> {'Idris.Prelude.Types.Left', V61} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V62) -> case V62 of 0 -> begin (V91 = begin (V90 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V63) -> fun (V64) -> fun (V65) -> fun (V66) -> fun (V67) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V65, V66, V67)) end end end end end, fun (V68) -> fun (V69) -> fun (V70) -> V69 end end end, fun (V71) -> fun (V72) -> fun (V73) -> fun (V74) -> fun (V75) -> begin (V76 = (V73(V75))), begin (V77 = (V74(V75))), (V76(V77)) end end end end end end end}, fun (V78) -> fun (V79) -> fun (V80) -> fun (V81) -> fun (V82) -> begin (V83 = (V80(V82))), ((V81(V83))(V82)) end end end end end end, fun (V84) -> fun (V85) -> fun (V86) -> begin (V87 = (V85(V86))), (V87(V86)) end end end end}, fun (V88) -> fun (V89) -> V89 end end}, V9, V14))(V25))), {'Idris.Prelude.Types.Right', V90} end), case V91 of {'Idris.Prelude.Types.Left', E8} -> (fun (V92) -> {'Idris.Prelude.Types.Left', V92} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V93) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> begin (V94 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V14, V25))), case V94 of {'Idris.Prelude.Types.Left', E10} -> (fun (V95) -> {'Idris.Prelude.Types.Left', V95} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V96) -> begin (V100 = begin (V97 = (('Idris.Idris2.Core.Normalise':'un--nf'(V9, [], V96, {'Idris.Core.Env.Nil'}, V59))(V25))), case V97 of {'Idris.Prelude.Types.Left', E12} -> (fun (V98) -> {'Idris.Prelude.Types.Left', V98} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V99) -> (('nested--23575-14902--in--un--closeEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V96, V99))(V25)) end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V100 of {'Idris.Prelude.Types.Left', E14} -> (fun (V101) -> {'Idris.Prelude.Types.Left', V101} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V102) -> begin (V131 = begin (V130 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V103) -> fun (V104) -> fun (V105) -> fun (V106) -> fun (V107) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V105, V106, V107)) end end end end end, fun (V108) -> fun (V109) -> fun (V110) -> V109 end end end, fun (V111) -> fun (V112) -> fun (V113) -> fun (V114) -> fun (V115) -> begin (V116 = (V113(V115))), begin (V117 = (V114(V115))), (V116(V117)) end end end end end end end}, fun (V118) -> fun (V119) -> fun (V120) -> fun (V121) -> fun (V122) -> begin (V123 = (V120(V122))), ((V121(V123))(V122)) end end end end end end, fun (V124) -> fun (V125) -> fun (V126) -> begin (V127 = (V125(V126))), (V127(V126)) end end end end}, fun (V128) -> fun (V129) -> V129 end end}, V9, V14))(V25))), {'Idris.Prelude.Types.Right', V130} end), case V131 of {'Idris.Prelude.Types.Left', E16} -> (fun (V132) -> {'Idris.Prelude.Types.Left', V132} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V133) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V102}} end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--processDef,checkImpossible-15021'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18) -> case V18 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V19, V20) -> fun (V21) -> begin (V22 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V9, V16, V21))), case V22 of {'Idris.Prelude.Types.Left', E2} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V24) -> begin (V25 = (('Idris.Idris2.TTImp.Elab':'un--elabTerm'([], V9, V8, V7, V12, {'Idris.TTImp.Elab.Check.InLHS', V11}, [], [], {'Idris.Core.Env.Nil'}, {'Idris.TTImp.TTImp.IBindHere', V3, {'Idris.TTImp.TTImp.PATTERN'}, V20}, {'Idris.Prelude.Types.Nothing'}))(V21))), case V25 of {'Idris.Prelude.Types.Left', E4} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V27) -> case V27 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V28, V29) -> begin (V58 = begin (V57 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> fun (V34) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V32, V33, V34)) end end end end end, fun (V35) -> fun (V36) -> fun (V37) -> V36 end end end, fun (V38) -> fun (V39) -> fun (V40) -> fun (V41) -> fun (V42) -> begin (V43 = (V40(V42))), begin (V44 = (V41(V42))), (V43(V44)) end end end end end end end}, fun (V45) -> fun (V46) -> fun (V47) -> fun (V48) -> fun (V49) -> begin (V50 = (V47(V49))), ((V48(V50))(V49)) end end end end end end, fun (V51) -> fun (V52) -> fun (V53) -> begin (V54 = (V52(V53))), (V54(V53)) end end end end}, fun (V55) -> fun (V56) -> V56 end end}, V9))(V21))), {'Idris.Prelude.Types.Right', V57} end), case V58 of {'Idris.Prelude.Types.Left', E8} -> (fun (V59) -> {'Idris.Prelude.Types.Left', V59} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V60) -> begin (V61 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V9, [], V60, {'Idris.Core.Env.Nil'}, V28, V21))), case V61 of {'Idris.Prelude.Types.Left', E10} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V63) -> begin (V64 = (('un--hasEmptyPat'([], V9, V60, {'Idris.Core.Env.Nil'}, V63))(V21))), case V64 of {'Idris.Prelude.Types.Left', E12} -> (fun (V65) -> {'Idris.Prelude.Types.Left', V65} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V66) -> case V66 of 0 -> begin (V95 = begin (V94 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V67) -> fun (V68) -> fun (V69) -> fun (V70) -> fun (V71) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V69, V70, V71)) end end end end end, fun (V72) -> fun (V73) -> fun (V74) -> V73 end end end, fun (V75) -> fun (V76) -> fun (V77) -> fun (V78) -> fun (V79) -> begin (V80 = (V77(V79))), begin (V81 = (V78(V79))), (V80(V81)) end end end end end end end}, fun (V82) -> fun (V83) -> fun (V84) -> fun (V85) -> fun (V86) -> begin (V87 = (V84(V86))), ((V85(V87))(V86)) end end end end end end, fun (V88) -> fun (V89) -> fun (V90) -> begin (V91 = (V89(V90))), (V91(V90)) end end end end}, fun (V92) -> fun (V93) -> V93 end end}, V9, V14))(V21))), {'Idris.Prelude.Types.Right', V94} end), case V95 of {'Idris.Prelude.Types.Left', E14} -> (fun (V96) -> {'Idris.Prelude.Types.Left', V96} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V97) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> begin (V98 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V14, V21))), case V98 of {'Idris.Prelude.Types.Left', E16} -> (fun (V99) -> {'Idris.Prelude.Types.Left', V99} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V100) -> begin (V104 = begin (V101 = (('Idris.Idris2.Core.Normalise':'un--nf'(V9, [], V100, {'Idris.Core.Env.Nil'}, V63))(V21))), case V101 of {'Idris.Prelude.Types.Left', E18} -> (fun (V102) -> {'Idris.Prelude.Types.Left', V102} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V103) -> (('nested--23575-14902--in--un--closeEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V100, V103))(V21)) end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V104 of {'Idris.Prelude.Types.Left', E20} -> (fun (V105) -> {'Idris.Prelude.Types.Left', V105} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V106) -> begin (V135 = begin (V134 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V107) -> fun (V108) -> fun (V109) -> fun (V110) -> fun (V111) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V109, V110, V111)) end end end end end, fun (V112) -> fun (V113) -> fun (V114) -> V113 end end end, fun (V115) -> fun (V116) -> fun (V117) -> fun (V118) -> fun (V119) -> begin (V120 = (V117(V119))), begin (V121 = (V118(V119))), (V120(V121)) end end end end end end end}, fun (V122) -> fun (V123) -> fun (V124) -> fun (V125) -> fun (V126) -> begin (V127 = (V124(V126))), ((V125(V127))(V126)) end end end end end end, fun (V128) -> fun (V129) -> fun (V130) -> begin (V131 = (V129(V130))), (V131(V130)) end end end end}, fun (V132) -> fun (V133) -> V133 end end}, V9, V14))(V21))), {'Idris.Prelude.Types.Right', V134} end), case V135 of {'Idris.Prelude.Types.Left', E22} -> (fun (V136) -> {'Idris.Prelude.Types.Left', V136} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V137) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V106}} end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--compileRunTime-14738'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Core.Context.MkDefs', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34) -> {'Idris.Core.Context.MkDefs', V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, [], V30, V31, V32, V33, V34} end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in mkRunTime-14506'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24) -> case V7 of {'Idris.Core.Context.MkGlobalDef', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20} -> (fun (V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45) -> {'Idris.Core.Context.MkGlobalDef', V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, {'Idris.Core.Context.PMDef', V14, V10, V13, V20, V12}, V43, V44, V45} end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in mkRunTime-14418'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25) -> case V25 of {'Idris.Prelude.Types.Just', E0} -> (fun (V26) -> case V26 of {'Idris.Builtin.Refl'} -> (fun () -> fun (V27) -> begin (V49 = ('Idris.Idris2.Core.Context':'un--addDef'(V4, V0, case V7 of {'Idris.Core.Context.MkGlobalDef', E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21} -> (fun (V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48) -> {'Idris.Core.Context.MkGlobalDef', V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, {'Idris.Core.Context.PMDef', V14, V10, V13, V21, V12}, V46, V47, V48} end(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V27))), case V49 of {'Idris.Prelude.Types.Left', E22} -> (fun (V50) -> {'Idris.Prelude.Types.Left', V50} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V51) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V52) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"WAT"/utf8>>}, V52)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in mkRunTime-14289'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19) -> case V19 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V20, V21) -> case V21 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V22, V23) -> fun (V24) -> begin (V54 = begin (V29 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V4, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V25) -> fun (V26) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseTree $vars)'('erased', V25, V26)) end end, fun (V27) -> fun (V28) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseTree $vars)'('erased', V27, V28)) end end}, V22, V24))), case V29 of {'Idris.Prelude.Types.Left', E4} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V31) -> ('Idris.Idris2.Core.Context.Log':'un--logC'(V4, <<"compile.casetree"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun (V32) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Data.Strings':'un--unlines'([('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__Covering'(V9)), <<":"/utf8>>)) | [('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Runtime tree for "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(case V7 of {'Idris.Core.Context.MkGlobalDef', E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26} -> (fun (V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53) -> V34 end(E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)), <<":"/utf8>>)))) | [('Idris.Idris2.Text.PrettyPrint.Prettyprinter.Doc':'dn--un--show_Show__(Doc $ann)'('erased', ('Idris.Idris2.Text.PrettyPrint.Prettyprinter.Doc':'un--indent'('erased', 2, ('Idris.Idris2.Core.CaseTree':'dn--un--pretty_Pretty__(CaseTree $vars)'('erased', V20, V31)))))) | []]]]))} end, V24)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V54 of {'Idris.Prelude.Types.Left', E27} -> (fun (V55) -> {'Idris.Prelude.Types.Left', V55} end(E27)); {'Idris.Prelude.Types.Right', E28} -> (fun (V56) -> begin (V57 = (('Idris.Idris2.Core.Context.Log':'un--log'(V4, <<"compile.casetree"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseTree $vars)'(V20, V22)) end))(V24))), case V57 of {'Idris.Prelude.Types.Left', E29} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E29)); {'Idris.Prelude.Types.Right', E30} -> (fun (V59) -> begin (V60 = {'Idris.Builtin.DPair.MkDPair', V20, {'Idris.Builtin.MkPair', V22, V23}}), (('case--case block in case block in case block in mkRunTime-14418'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V23, V20, V22, V60, V56, V59, ('un--nameListEq'(V10, V20))))(V24)) end end(E30)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E28)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in mkRunTime-14202'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V9 of {'Idris.Core.TT.MissingCases', E0} -> (fun (V18) -> ('nested--22551-13908--in--un--addErrorCase'(V0, V1, V2, V3, V4, V17)) end(E0)); _ -> V17 end. 'case--case block in mkRunTime-14167'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V11, V12, V13, V14, V15) -> begin (V37 = case V7 of {'Idris.Core.Context.MkGlobalDef', E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36) -> V18 end(E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), fun () -> fun (V38) -> begin (V82 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V39) -> ('nested--22551-13910--in--un--toErased'(V0, V1, V2, V3, V4, case V7 of {'Idris.Core.Context.MkGlobalDef', E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46} -> (fun (V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60) -> V40 end(E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, ('nested--22551-13909--in--un--getSpec'(V0, V1, V2, V3, V4, case V7 of {'Idris.Core.Context.MkGlobalDef', E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67} -> (fun (V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81) -> V72 end(E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)), V39)) end, V15))(V38))), case V82 of {'Idris.Prelude.Types.Left', E68} -> (fun (V83) -> {'Idris.Prelude.Types.Left', V83} end(E68)); {'Idris.Prelude.Types.Right', E69} -> (fun (V84) -> begin (V107 = ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V85) -> ('nested--22551-13911--in--un--toClause'(V0, V1, V2, V3, V4, case V7 of {'Idris.Core.Context.MkGlobalDef', E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90} -> (fun (V86, V87, V88, V89, V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106) -> V86 end(E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V85)) end, V84))), begin (V109 = case V9 of {'Idris.Core.TT.MissingCases', E91} -> (fun (V108) -> ('nested--22551-13908--in--un--addErrorCase'(V0, V1, V2, V3, V4, V107)) end(E91)); _ -> V107 end), begin (V131 = (('Idris.Idris2.Core.CaseBuilder':'un--getPMDef'(V4, case V7 of {'Idris.Core.Context.MkGlobalDef', E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112} -> (fun (V110, V111, V112, V113, V114, V115, V116, V117, V118, V119, V120, V121, V122, V123, V124, V125, V126, V127, V128, V129, V130) -> V110 end(E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, {'Idris.Core.CaseBuilder.RunTime'}, V0, V37, V109))(V38))), case V131 of {'Idris.Prelude.Types.Left', E113} -> (fun (V132) -> {'Idris.Prelude.Types.Left', V132} end(E113)); {'Idris.Prelude.Types.Right', E114} -> (fun (V133) -> case V133 of {'Idris.Builtin.DPair.MkDPair', E115, E116} -> (fun (V134, V135) -> case V135 of {'Idris.Builtin.MkPair', E117, E118} -> (fun (V136, V137) -> begin (V167 = begin (V142 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V4, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V138) -> fun (V139) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseTree $vars)'('erased', V138, V139)) end end, fun (V140) -> fun (V141) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseTree $vars)'('erased', V140, V141)) end end}, V136, V38))), case V142 of {'Idris.Prelude.Types.Left', E119} -> (fun (V143) -> {'Idris.Prelude.Types.Left', V143} end(E119)); {'Idris.Prelude.Types.Right', E120} -> (fun (V144) -> ('Idris.Idris2.Core.Context.Log':'un--logC'(V4, <<"compile.casetree"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun (V145) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Data.Strings':'un--unlines'([('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__Covering'(V9)), <<":"/utf8>>)) | [('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Runtime tree for "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(case V7 of {'Idris.Core.Context.MkGlobalDef', E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140, E141} -> (fun (V146, V147, V148, V149, V150, V151, V152, V153, V154, V155, V156, V157, V158, V159, V160, V161, V162, V163, V164, V165, V166) -> V147 end(E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140, E141)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)), <<":"/utf8>>)))) | [('Idris.Idris2.Text.PrettyPrint.Prettyprinter.Doc':'dn--un--show_Show__(Doc $ann)'('erased', ('Idris.Idris2.Text.PrettyPrint.Prettyprinter.Doc':'un--indent'('erased', 2, ('Idris.Idris2.Core.CaseTree':'dn--un--pretty_Pretty__(CaseTree $vars)'('erased', V134, V144)))))) | []]]]))} end, V38)) end(E120)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V167 of {'Idris.Prelude.Types.Left', E142} -> (fun (V168) -> {'Idris.Prelude.Types.Left', V168} end(E142)); {'Idris.Prelude.Types.Right', E143} -> (fun (V169) -> begin (V170 = (('Idris.Idris2.Core.Context.Log':'un--log'(V4, <<"compile.casetree"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseTree $vars)'(V134, V136)) end))(V38))), case V170 of {'Idris.Prelude.Types.Left', E144} -> (fun (V171) -> {'Idris.Prelude.Types.Left', V171} end(E144)); {'Idris.Prelude.Types.Right', E145} -> (fun (V172) -> begin (V173 = {'Idris.Builtin.DPair.MkDPair', V134, {'Idris.Builtin.MkPair', V136, V137}}), (('case--case block in case block in case block in mkRunTime-14418'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V12, V14, V15, V13, V11, V37, V84, V107, V109, V137, V134, V136, V173, V169, V172, ('un--nameListEq'(V12, V134))))(V38)) end end(E145)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E143)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E117, E118)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E115, E116)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E114)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E69)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end(E0, E1, E2, E3, E4)); _ -> fun () -> fun (V174) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end end. 'case--mkRunTime-14139'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Prelude.Types.Just', E0} -> (fun (V8) -> begin (V32 = case case V8 of {'Idris.Core.Context.MkGlobalDef', E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23} -> (fun (V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29) -> V19 end(E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end of {'Idris.Core.TT.MkTotality', E1, E2} -> (fun (V30, V31) -> V31 end(E1, E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V33) -> fun (V34) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V33, V34)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V35) -> fun (V36) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V35, V36)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V37) -> fun (V38) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V37, V38)) end end, fun (V39) -> fun (V40) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V39, V40)) end end}}, case V8 of {'Idris.Core.Context.MkGlobalDef', E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65} -> (fun (V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61) -> V48 end(E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) of 0 -> (begin (V62 = {'Idris.Prelude.Types.Just', V8}), ('case--case block in mkRunTime-14167'(V0, V1, V2, V3, V4, V5, V6, V8, V62, V32, case V8 of {'Idris.Core.Context.MkGlobalDef', E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44} -> (fun (V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83) -> V80 end(E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end()); 1 -> fun (V84) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E0)); _ -> fun (V85) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end. 'case--case block in case block in case block in calcRefs-13801'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V5 of {'Idris.Core.Context.MkGlobalDef', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20} -> (fun (V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38) -> {'Idris.Core.Context.MkGlobalDef', V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, {'Idris.Prelude.Types.Just', V17}, V32, V33, V34, V35, V36, V37, V38} end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in calcRefs-13763'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V5 of {'Idris.Core.Context.MkGlobalDef', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20} -> (fun (V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38) -> {'Idris.Core.Context.MkGlobalDef', V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, {'Idris.Prelude.Types.Just', V17}, V31, V32, V33, V34, V35, V36, V37, V38} end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in calcRefs-13627'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V2 of 0 -> V9; 1 -> V10; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in calcRefs-13599'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V13 = case V2 of 0 -> V9; 1 -> V10; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), begin (V14 = ('Idris.Idris2.Core.CaseTree':'un--getMetas'('erased', V13))), fun (V15) -> begin (V18 = (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V16) -> fun (V17) -> ('Idris.Idris2.Core.Context':'un--addToSave'(V3, V16, V17)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V14))))(V15))), case V18 of {'Idris.Prelude.Types.Left', E0} -> (fun (V19) -> {'Idris.Prelude.Types.Left', V19} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V20) -> begin (V21 = ('Idris.Idris2.Core.CaseTree':'un--addRefs'('erased', V1, V14, V13))), begin (V23 = (('un--ifThenElse'('erased', V2, fun () -> ('nested--21936-13386--in--un--dropErased'(V0, V1, V2, V3, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V21)), V21)) end, fun () -> fun (V22) -> {'Idris.Prelude.Types.Right', V21} end end))(V15))), case V23 of {'Idris.Prelude.Types.Left', E2} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V25) -> begin (V70 = (('un--ifThenElse'('erased', V2, fun () -> fun (V26) -> ('Idris.Idris2.Core.Context':'un--addDef'(V3, V0, case V5 of {'Idris.Core.Context.MkGlobalDef', E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24} -> (fun (V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47) -> {'Idris.Core.Context.MkGlobalDef', V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, {'Idris.Prelude.Types.Just', V25}, V41, V42, V43, V44, V45, V46, V47} end(E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V26)) end end, fun () -> fun (V48) -> ('Idris.Idris2.Core.Context':'un--addDef'(V3, V0, case V5 of {'Idris.Core.Context.MkGlobalDef', E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45} -> (fun (V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69) -> {'Idris.Core.Context.MkGlobalDef', V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, {'Idris.Prelude.Types.Just', V25}, V62, V63, V64, V65, V66, V67, V68, V69} end(E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V48)) end end))(V15))), case V70 of {'Idris.Prelude.Types.Left', E46} -> (fun (V71) -> {'Idris.Prelude.Types.Left', V71} end(E46)); {'Idris.Prelude.Types.Right', E47} -> (fun (V72) -> (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V73) -> fun (V74) -> ('un--calcRefs'(V3, V2, V1, V73, V74)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V25))))(V15)) end(E47)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end()); {'Idris.Prelude.Types.Just', E48} -> (fun (V75) -> fun (V76) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end(E48)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in calcRefs-13551'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V2 of 0 -> case V5 of {'Idris.Core.Context.MkGlobalDef', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20} -> (fun (V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32) -> V25 end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; 1 -> case V5 of {'Idris.Core.Context.MkGlobalDef', E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41} -> (fun (V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53) -> V45 end(E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in calcRefs-13533'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V8, V9, V10, V11, V12) -> begin (V55 = case V2 of 0 -> case V5 of {'Idris.Core.Context.MkGlobalDef', E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33) -> V26 end(E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; 1 -> case V5 of {'Idris.Core.Context.MkGlobalDef', E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46} -> (fun (V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54) -> V46 end(E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V55 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V56 = case V2 of 0 -> V11; 1 -> V10; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), begin (V57 = ('Idris.Idris2.Core.CaseTree':'un--getMetas'('erased', V56))), fun (V58) -> begin (V61 = (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V59) -> fun (V60) -> ('Idris.Idris2.Core.Context':'un--addToSave'(V3, V59, V60)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V57))))(V58))), case V61 of {'Idris.Prelude.Types.Left', E47} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E47)); {'Idris.Prelude.Types.Right', E48} -> (fun (V63) -> begin (V64 = ('Idris.Idris2.Core.CaseTree':'un--addRefs'('erased', V1, V57, V56))), begin (V66 = (('un--ifThenElse'('erased', V2, fun () -> ('nested--21936-13386--in--un--dropErased'(V0, V1, V2, V3, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V64)), V64)) end, fun () -> fun (V65) -> {'Idris.Prelude.Types.Right', V64} end end))(V58))), case V66 of {'Idris.Prelude.Types.Left', E49} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E49)); {'Idris.Prelude.Types.Right', E50} -> (fun (V68) -> begin (V113 = (('un--ifThenElse'('erased', V2, fun () -> fun (V69) -> ('Idris.Idris2.Core.Context':'un--addDef'(V3, V0, case V5 of {'Idris.Core.Context.MkGlobalDef', E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71} -> (fun (V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90) -> {'Idris.Core.Context.MkGlobalDef', V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, {'Idris.Prelude.Types.Just', V68}, V84, V85, V86, V87, V88, V89, V90} end(E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V69)) end end, fun () -> fun (V91) -> ('Idris.Idris2.Core.Context':'un--addDef'(V3, V0, case V5 of {'Idris.Core.Context.MkGlobalDef', E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92} -> (fun (V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111, V112) -> {'Idris.Core.Context.MkGlobalDef', V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, {'Idris.Prelude.Types.Just', V68}, V105, V106, V107, V108, V109, V110, V111, V112} end(E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V91)) end end))(V58))), case V113 of {'Idris.Prelude.Types.Left', E93} -> (fun (V114) -> {'Idris.Prelude.Types.Left', V114} end(E93)); {'Idris.Prelude.Types.Right', E94} -> (fun (V115) -> (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V116) -> fun (V117) -> ('un--calcRefs'(V3, V2, V1, V116, V117)) end end, ('Idris.Idris2.Data.NameMap':'un--keys'('erased', V68))))(V58)) end(E94)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E50)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E48)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end()); {'Idris.Prelude.Types.Just', E95} -> (fun (V118) -> fun (V119) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end(E95)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E0, E1, E2, E3, E4)); _ -> fun (V120) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end. 'case--calcRefs-13518'(V0, V1, V2, V3, V4, V5) -> case V5 of {'Idris.Prelude.Types.Just', E0} -> (fun (V6) -> begin (V7 = {'Idris.Prelude.Types.Just', V6}), ('case--case block in calcRefs-13533'(V0, V1, V2, V3, V4, V6, V7, case V6 of {'Idris.Core.Context.MkGlobalDef', E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21} -> (fun (V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28) -> V25 end(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end end(E0)); _ -> fun (V29) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end. 'case--case block in calcRefs,dropErased-13440'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of 0 -> ('nested--21936-13386--in--un--dropErased'(V0, V1, V2, V3, V5, V6)); 1 -> ('nested--21936-13386--in--un--dropErased'(V0, V1, V2, V3, V5, ('Idris.Idris2.Data.NameMap':'un--delete'('erased', V4, V6)))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--calcRefs,dropErased-13413'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Prelude.Types.Just', E0} -> (fun (V9) -> begin (V10 = {'Idris.Prelude.Types.Just', V9}), ('case--case block in calcRefs,dropErased-13440'(V0, V1, V2, V3, V4, V5, V6, V7, V9, V10, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(case V9 of {'Idris.Core.Context.MkGlobalDef', E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21} -> (fun (V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31) -> V18 end(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V32) -> fun (V33) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V32, V33)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V34) -> fun (V35) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V34, V35)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})))))) end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> ('nested--21936-13386--in--un--dropErased'(V0, V1, V2, V3, V5, V6)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkClause-13225'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25) -> case V25 of 0 -> {'Idris.TTImp.Elab.Check.InType'}; 1 -> {'Idris.TTImp.Elab.Check.InExpr'}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in case block in checkClause-12697'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64) -> [V64 | V7]. 'case--case block in case block in case block in case block in case block in case block in case block in checkClause-12566'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58) -> case V58 of {'Idris.Core.Context.MkGlobalDef', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20} -> (fun (V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79) -> {'Idris.Core.Context.MkGlobalDef', V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, [{'Idris.Core.Context.SetTotal', V11} | V70], V71, V72, V73, V74, V75, V76, V77, V78, V79} end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in case block in checkClause-12326'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58) -> case V58 of 0 -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V59) -> fun (V60) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V59, V60)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V61) -> fun (V62) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V61, V62)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})); 1 -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--top_Top__ZeroOneOmega'()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in checkClause-11958'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51) -> case V51 of {'Idris.Prelude.Types.Just', E0} -> (fun (V52) -> case V52 of {'Idris.Builtin.MkPair', E1, E2} -> (fun (V53, V54) -> case V54 of {'Idris.Builtin.MkPair', E3, E4} -> (fun (V55, V56) -> begin (V59 = ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V57) -> {'Idris.Prelude.Types.Just', V57} end, V53)), [{'Idris.Prelude.Types.Nothing'} | ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V58) -> {'Idris.Prelude.Types.Just', V58} end, V46))]))), fun (V60) -> begin (V61 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'([], V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"With function type"/utf8>> end, V56, V60))), case V61 of {'Idris.Prelude.Types.Left', E5} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V63) -> begin (V121 = (('Idris.Idris2.Core.Context.Log':'un--log'(V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Argument names "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V64) -> ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(Maybe $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V65) -> ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V66) -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V67) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V67)) end, fun (V68) -> fun (V69) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V68, V69)) end end}, V66)) end, fun (V70) -> fun (V71) -> ('Idris.Idris2.Core.TT':'dn--un--showPrec_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V72) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V72)) end, fun (V73) -> fun (V74) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V73, V74)) end end}, V70, V71)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V75) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V75)) end, fun (V76) -> fun (V77) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V76, V77)) end end}}, V65)) end, fun (V78) -> fun (V79) -> ('Idris.Idris2.Prelude.Show':'dn--un--showPrec_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V80) -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V81) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V81)) end, fun (V82) -> fun (V83) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V82, V83)) end end}, V80)) end, fun (V84) -> fun (V85) -> ('Idris.Idris2.Core.TT':'dn--un--showPrec_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V86) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V86)) end, fun (V87) -> fun (V88) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V87, V88)) end end}, V84, V85)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V89) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V89)) end, fun (V90) -> fun (V91) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V90, V91)) end end}}, V78, V79)) end end}, V64)) end, fun (V92) -> fun (V93) -> ('Idris.Idris2.Prelude.Show':'dn--un--showPrec_Show__(Maybe $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V94) -> ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V95) -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V96) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V96)) end, fun (V97) -> fun (V98) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V97, V98)) end end}, V95)) end, fun (V99) -> fun (V100) -> ('Idris.Idris2.Core.TT':'dn--un--showPrec_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V101) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V101)) end, fun (V102) -> fun (V103) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V102, V103)) end end}, V99, V100)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V104) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V104)) end, fun (V105) -> fun (V106) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V105, V106)) end end}}, V94)) end, fun (V107) -> fun (V108) -> ('Idris.Idris2.Prelude.Show':'dn--un--showPrec_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V109) -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V110) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V110)) end, fun (V111) -> fun (V112) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V111, V112)) end end}, V109)) end, fun (V113) -> fun (V114) -> ('Idris.Idris2.Core.TT':'dn--un--showPrec_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V115) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V115)) end, fun (V116) -> fun (V117) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__RawImp'(V116, V117)) end end}, V113, V114)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V118) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V118)) end, fun (V119) -> fun (V120) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V119, V120)) end end}}, V107, V108)) end end}, V92, V93)) end end}, V59)))) end))(V60))), case V121 of {'Idris.Prelude.Types.Left', E7} -> (fun (V122) -> {'Idris.Prelude.Types.Left', V122} end(E7)); {'Idris.Prelude.Types.Right', E8} -> (fun (V123) -> begin (V134 = begin (V128 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V16, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V124) -> fun (V125) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(V124, V125)) end end, fun (V126) -> fun (V127) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Name'(V126, V127)) end end}, {'Idris.Core.Name.Resolved', V9}, V60))), case V128 of {'Idris.Prelude.Types.Left', E9} -> (fun (V129) -> {'Idris.Prelude.Types.Left', V129} end(E9)); {'Idris.Prelude.Types.Right', E10} -> (fun (V130) -> begin (V131 = (('Idris.Idris2.Core.Context':'un--prettyName'(V16, V130))(V60))), case V131 of {'Idris.Prelude.Types.Left', E11} -> (fun (V132) -> {'Idris.Prelude.Types.Left', V132} end(E11)); {'Idris.Prelude.Types.Right', E12} -> (fun (V133) -> ('Idris.Idris2.Core.UnifyState':'un--genWithName'(V16, V14, V133, V60)) end(E12)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E10)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V134 of {'Idris.Prelude.Types.Left', E13} -> (fun (V135) -> {'Idris.Prelude.Types.Left', V135} end(E13)); {'Idris.Prelude.Types.Right', E14} -> (fun (V136) -> begin (V145 = ('Idris.Idris2.Core.Context':'un--addDef'(V16, V136, ('case--case block in case block in case block in case block in case block in case block in case block in checkClause-12566'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V53, V55, V56, V59, V63, V123, V136, ('Idris.Idris2.Core.Context':'un--newDef'(V4, V136, ('case--case block in case block in case block in case block in case block in case block in case block in checkClause-12326'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V53, V55, V56, V59, V63, V123, V136, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V137) -> fun (V138) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V137, V138)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V139) -> fun (V140) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V139, V140)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V141) -> fun (V142) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V141, V142)) end end, fun (V143) -> fun (V144) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V143, V144)) end end}}, V13)))), V5, V56, V12, {'Idris.Core.Context.None'})))), V60))), case V145 of {'Idris.Prelude.Types.Left', E15} -> (fun (V146) -> {'Idris.Prelude.Types.Left', V146} end(E15)); {'Idris.Prelude.Types.Right', E16} -> (fun (V147) -> begin (V151 = ('Idris.Idris2.TTImp.TTImp':'un--apply'({'Idris.TTImp.TTImp.IVar', V4, V136}, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V148) -> {'Idris.TTImp.TTImp.IVar', V4, V148} end, V55)), ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V149) -> ('Idris.Idris2.Prelude.Types':'un--maybe'('erased', 'erased', fun () -> V2 end, fun () -> fun (V150) -> {'Idris.TTImp.TTImp.IVar', V4, ('Idris.Idris2.Builtin':'un--snd'('erased', 'erased', V150))} end end, V149)) end, V59))))))), begin (V152 = (('Idris.Idris2.Core.Context.Log':'un--log'(V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Applying to with argument "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V151)))) end))(V60))), case V152 of {'Idris.Prelude.Types.Left', E17} -> (fun (V153) -> {'Idris.Prelude.Types.Left', V153} end(E17)); {'Idris.Prelude.Types.Right', E18} -> (fun (V154) -> begin (V160 = begin (V155 = (('Idris.Idris2.Core.Context':'un--getFullName'(V16, {'Idris.Core.Name.Resolved', V9}))(V60))), case V155 of {'Idris.Prelude.Types.Left', E19} -> (fun (V156) -> {'Idris.Prelude.Types.Left', V156} end(E19)); {'Idris.Prelude.Types.Right', E20} -> (fun (V157) -> ((('Idris.Idris2.TTImp.Elab.Utils':'un--wrapErrorC'('erased', V8, fun (V159) -> {'Idris.Core.Core.InRHS', V4, V157, V159} end))(fun (V158) -> ('Idris.Idris2.TTImp.Elab':'un--checkTermSub'(V5, V18, V16, V15, V14, V9, V25, V8, V21, V20, V6, V19, V151, ('Idris.Idris2.Core.Normalise':'un--gnf'(V18, V20, V23)), V158)) end))(V60)) end(E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V160 of {'Idris.Prelude.Types.Left', E21} -> (fun (V161) -> {'Idris.Prelude.Types.Left', V161} end(E21)); {'Idris.Prelude.Types.Right', E22} -> (fun (V162) -> begin (V164 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V163) -> ('nested--17504-10647--in--un--mkClauseWith'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, (1 + 0), V136, V59, V17, V163)) end, V0))(V60))), case V164 of {'Idris.Prelude.Types.Left', E23} -> (fun (V165) -> {'Idris.Prelude.Types.Left', V165} end(E23)); {'Idris.Prelude.Types.Right', E24} -> (fun (V166) -> begin (V170 = (('Idris.Idris2.Core.Context.Log':'un--log'(V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"With clauses: "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V167) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__ImpClause'(V167)) end, fun (V168) -> fun (V169) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--showPrec_Show__ImpClause'(V168, V169)) end end}, V166)))) end))(V60))), case V170 of {'Idris.Prelude.Types.Left', E25} -> (fun (V171) -> {'Idris.Prelude.Types.Left', V171} end(E25)); {'Idris.Prelude.Types.Right', E26} -> (fun (V172) -> begin (V173 = ('un--applyEnv'(V5, V16, V6, V136, V60))), case V173 of {'Idris.Prelude.Types.Left', E27} -> (fun (V174) -> {'Idris.Prelude.Types.Left', V174} end(E27)); {'Idris.Prelude.Types.Right', E28} -> (fun (V175) -> begin (V176 = [V175 | V7]), begin (V177 = {'Idris.TTImp.TTImp.IDef', V4, V136, V166}), begin (V178 = (('Idris.Idris2.TTImp.Elab.Check':'un--processDecl'(V5, V16, V15, V14, [], V176, V6, V177))(V60))), case V178 of {'Idris.Prelude.Types.Left', E29} -> (fun (V179) -> {'Idris.Prelude.Types.Left', V179} end(E29)); {'Idris.Prelude.Types.Right', E30} -> (fun (V180) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Right', {'Idris.Core.Context.MkClause', V18, V20, V22, V162}}} end(E30)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E28)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E26)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E24)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E22)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E18)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E16)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E14)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E3, E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E1, E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V181) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Impossible happened: With abstraction failure #4"/utf8>>}, V181)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in checkClause-11755'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48) -> case V48 of 0 -> fun (V49) -> ('Idris.Idris2.Core.Context':'un--clearDefs'(V33, V49)) end; 1 -> fun (V50) -> {'Idris.Prelude.Types.Right', V33} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in checkClause-11579'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42) -> case V42 of {'Idris.Prelude.Types.Just', E0} -> (fun (V43) -> begin (V44 = {'Idris.Core.Name.MN', <<"warg"/utf8>>, 0}), begin (V45 = {'Idris.Core.Env.::', {'Idris.Core.TT.Pi', V4, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--top_Top__ZeroOneOmega'()), {'Idris.Core.TT.Explicit'}, V41}, V43}), begin (V46 = ('Idris.Idris2.TTImp.Elab.Utils':'un--bindNotReq'('erased', V18, V4, 0, V20, V37, [], V23))), begin (V47 = ('Idris.Idris2.Builtin':'un--fst'('erased', 'erased', V46))), begin (V48 = ('Idris.Idris2.Builtin':'un--snd'('erased', 'erased', V46))), fun (V49) -> begin (V54 = (('case--case block in case block in case block in case block in case block in case block in checkClause-11755'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V43, V44, V45, V46, V47, V48, ('Idris.Idris2.Prelude.Types':'un--elem'('erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V50) -> fun (V51) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--==_Eq__WithFlag'(V50, V51)) end end, fun (V52) -> fun (V53) -> ('Idris.Idris2.TTImp.TTImp':'dn--un--/=_Eq__WithFlag'(V52, V53)) end end}, {'Idris.TTImp.TTImp.Syntactic'}, V1))))(V49))), case V54 of {'Idris.Prelude.Types.Left', E1} -> (fun (V55) -> {'Idris.Prelude.Types.Left', V55} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V56) -> begin (V63 = begin (V57 = (('Idris.Idris2.Core.Normalise':'un--nf'(V16, [V44 | V36], V56, V45, ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Term'('erased', 'erased', V40))))(V49))), case V57 of {'Idris.Prelude.Types.Left', E3} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V59) -> begin (V60 = (('Idris.Idris2.Core.Normalise':'un--nf'(V16, [V44 | V36], V56, V45, ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Term'('erased', 'erased', V48))))(V49))), case V60 of {'Idris.Prelude.Types.Left', E5} -> (fun (V61) -> {'Idris.Prelude.Types.Left', V61} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V62) -> ('Idris.Idris2.Core.Normalise':'un--replace'(V16, [V44 | V36], V56, V45, V59, {'Idris.Core.TT.Local', V4, {'Idris.Prelude.Types.Just', 1}, 0}, V62, V49)) end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V63 of {'Idris.Prelude.Types.Left', E7} -> (fun (V64) -> {'Idris.Prelude.Types.Left', V64} end(E7)); {'Idris.Prelude.Types.Right', E8} -> (fun (V65) -> begin (V66 = {'Idris.Core.TT.Bind', V4, V44, {'Idris.Core.TT.Pi', V4, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--top_Top__ZeroOneOmega'()), {'Idris.Core.TT.Explicit'}, V41}, V65}), (('case--case block in case block in case block in case block in case block in case block in checkClause-11958'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V43, V44, V45, V46, V47, V48, V56, V65, V66, ('Idris.Idris2.TTImp.Elab.Utils':'un--bindReq'('erased', V18, V4, V20, V37, [], V66))))(V49)) end end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V67) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Impossible happened: With abstraction failure #3"/utf8>>}, V67)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in checkClause-11488'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41) -> case V41 of {'Idris.Prelude.Types.Just', E0} -> (fun (V42) -> ('case--case block in case block in case block in case block in case block in checkClause-11579'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V42, ('Idris.Idris2.Core.Env':'un--shrinkEnv'('erased', 'erased', V20, V37)))) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V43) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Impossible happened: With abstraction failure #2"/utf8>>}, V43)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in checkClause-11399'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40) -> case V40 of {'Idris.Prelude.Types.Just', E0} -> (fun (V41) -> ('case--case block in case block in case block in case block in checkClause-11488'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V41, ('Idris.Idris2.Core.TT':'un--shrinkTerm'('erased', 'erased', V35, V37)))) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V42) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Impossible happened: With abstraction failure #1"/utf8>>}, V42)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in checkClause-11283'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36) -> case V36 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V37, V38) -> fun (V39) -> begin (V40 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V18, V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"With value type"/utf8>> end, V35, V39))), case V40 of {'Idris.Prelude.Types.Left', E2} -> (fun (V41) -> {'Idris.Prelude.Types.Left', V41} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V42) -> begin (V46 = (('Idris.Idris2.Core.Context.Log':'un--log'(V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Using vars "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V43) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V43)) end, fun (V44) -> fun (V45) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V44, V45)) end end}, V37)))) end))(V39))), case V46 of {'Idris.Prelude.Types.Left', E4} -> (fun (V47) -> {'Idris.Prelude.Types.Left', V47} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V48) -> (('case--case block in case block in case block in checkClause-11399'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V37, V38, V42, V48, ('Idris.Idris2.Core.TT':'un--shrinkTerm'('erased', 'erased', V34, V38))))(V39)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkClause-11152'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26) -> case V26 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V27, V28) -> fun (V29) -> begin (V30 = ('Idris.Idris2.Core.Metadata':'un--clearHoleLHS'(V15, V29))), case V30 of {'Idris.Prelude.Types.Left', E2} -> (fun (V31) -> {'Idris.Prelude.Types.Left', V31} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V32) -> begin (V33 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V18, V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"With value"/utf8>> end, V27, V29))), case V33 of {'Idris.Prelude.Types.Left', E4} -> (fun (V34) -> {'Idris.Prelude.Types.Left', V34} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V35) -> begin (V36 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V18, V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"Required type"/utf8>> end, V23, V29))), case V36 of {'Idris.Prelude.Types.Left', E6} -> (fun (V37) -> {'Idris.Prelude.Types.Left', V37} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V38) -> begin (V39 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V28))(V29))), case V39 of {'Idris.Prelude.Types.Left', E8} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V41) -> begin (V70 = begin (V69 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V42) -> fun (V43) -> fun (V44) -> fun (V45) -> fun (V46) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V44, V45, V46)) end end end end end, fun (V47) -> fun (V48) -> fun (V49) -> V48 end end end, fun (V50) -> fun (V51) -> fun (V52) -> fun (V53) -> fun (V54) -> begin (V55 = (V52(V54))), begin (V56 = (V53(V54))), (V55(V56)) end end end end end end end}, fun (V57) -> fun (V58) -> fun (V59) -> fun (V60) -> fun (V61) -> begin (V62 = (V59(V61))), ((V60(V62))(V61)) end end end end end end, fun (V63) -> fun (V64) -> fun (V65) -> begin (V66 = (V64(V65))), (V66(V65)) end end end end}, fun (V67) -> fun (V68) -> V68 end end}, V16))(V29))), {'Idris.Prelude.Types.Right', V69} end), case V70 of {'Idris.Prelude.Types.Left', E10} -> (fun (V71) -> {'Idris.Prelude.Types.Left', V71} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V72) -> begin (V73 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V16, V18, V72, V20, V27, V29))), case V73 of {'Idris.Prelude.Types.Left', E12} -> (fun (V74) -> {'Idris.Prelude.Types.Left', V74} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V75) -> begin (V76 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V16, V18, V72, V20, V41, V29))), case V76 of {'Idris.Prelude.Types.Left', E14} -> (fun (V77) -> {'Idris.Prelude.Types.Left', V77} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V78) -> begin (V79 = {'Idris.Builtin.MkPair', V27, V28}), (('case--case block in case block in checkClause-11283'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V27, V28, V79, V32, V35, V38, V41, V72, V75, V78, ('nested--17504-10646--in--un--keepOldEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', 'erased', V18, V19, case ('Idris.Idris2.Core.Env':'un--findSubEnv'(V18, V20, V75)) of {'Idris.Builtin.DPair.MkDPair', E16, E17} -> (fun (V80, V81) -> V81 end(E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V29)) end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkClause-11068'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V18, V19) -> case V19 of {'Idris.Builtin.DPair.MkDPair', E2, E3} -> (fun (V20, V21) -> case V21 of {'Idris.Builtin.MkPair', E4, E5} -> (fun (V22, V23) -> case V23 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V24, V25) -> case V25 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V26, V27) -> case V27 of {'Idris.Builtin.MkPair', E10, E11} -> (fun (V28, V29) -> begin (V39 = begin (V30 = {'Idris.Builtin.MkPair', V18, {'Idris.Builtin.DPair.MkDPair', V20, {'Idris.Builtin.MkPair', V22, {'Idris.Builtin.MkPair', V24, {'Idris.Builtin.MkPair', V26, {'Idris.Builtin.MkPair', V28, V29}}}}}}), ('case--case block in checkClause-13225'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V18, V20, V22, V24, V26, V28, V29, V30, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V31) -> fun (V32) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V31, V32)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V33) -> fun (V34) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V33, V34)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V35) -> fun (V36) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V35, V36)) end end, fun (V37) -> fun (V38) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V37, V38)) end end}}, V13)))) end), fun (V40) -> begin (V45 = begin (V41 = (('Idris.Idris2.Core.Context':'un--getFullName'(V16, {'Idris.Core.Name.Resolved', V9}))(V40))), case V41 of {'Idris.Prelude.Types.Left', E12} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V43) -> ((('Idris.Idris2.TTImp.Elab.Utils':'un--wrapErrorC'('erased', V8, fun (V44) -> {'Idris.Core.Core.InRHS', V4, V43, V44} end))(('Idris.Idris2.TTImp.Elab':'un--elabTermSub'(V5, V20, V16, V15, V14, V9, V39, V8, V26, V24, V6, V22, V2, {'Idris.Prelude.Types.Nothing'}))))(V40)) end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V45 of {'Idris.Prelude.Types.Left', E14} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V47) -> begin (V48 = {'Idris.Builtin.MkPair', V18, {'Idris.Builtin.DPair.MkDPair', V20, {'Idris.Builtin.MkPair', V22, {'Idris.Builtin.MkPair', V24, {'Idris.Builtin.MkPair', V26, {'Idris.Builtin.MkPair', V28, V29}}}}}}), case V47 of {'Idris.Builtin.MkPair', E16, E17} -> (fun (V49, V50) -> begin (V51 = ('Idris.Idris2.Core.Metadata':'un--clearHoleLHS'(V15, V40))), case V51 of {'Idris.Prelude.Types.Left', E18} -> (fun (V52) -> {'Idris.Prelude.Types.Left', V52} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V53) -> begin (V54 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V20, V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"With value"/utf8>> end, V49, V40))), case V54 of {'Idris.Prelude.Types.Left', E20} -> (fun (V55) -> {'Idris.Prelude.Types.Left', V55} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V56) -> begin (V57 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V20, V16, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"Required type"/utf8>> end, V29, V40))), case V57 of {'Idris.Prelude.Types.Left', E22} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V59) -> begin (V60 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V50))(V40))), case V60 of {'Idris.Prelude.Types.Left', E24} -> (fun (V61) -> {'Idris.Prelude.Types.Left', V61} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V62) -> begin (V91 = begin (V90 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V63) -> fun (V64) -> fun (V65) -> fun (V66) -> fun (V67) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V65, V66, V67)) end end end end end, fun (V68) -> fun (V69) -> fun (V70) -> V69 end end end, fun (V71) -> fun (V72) -> fun (V73) -> fun (V74) -> fun (V75) -> begin (V76 = (V73(V75))), begin (V77 = (V74(V75))), (V76(V77)) end end end end end end end}, fun (V78) -> fun (V79) -> fun (V80) -> fun (V81) -> fun (V82) -> begin (V83 = (V80(V82))), ((V81(V83))(V82)) end end end end end end, fun (V84) -> fun (V85) -> fun (V86) -> begin (V87 = (V85(V86))), (V87(V86)) end end end end}, fun (V88) -> fun (V89) -> V89 end end}, V16))(V40))), {'Idris.Prelude.Types.Right', V90} end), case V91 of {'Idris.Prelude.Types.Left', E26} -> (fun (V92) -> {'Idris.Prelude.Types.Left', V92} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V93) -> begin (V94 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V16, V20, V93, V24, V49, V40))), case V94 of {'Idris.Prelude.Types.Left', E28} -> (fun (V95) -> {'Idris.Prelude.Types.Left', V95} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V96) -> begin (V97 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V16, V20, V93, V24, V62, V40))), case V97 of {'Idris.Prelude.Types.Left', E30} -> (fun (V98) -> {'Idris.Prelude.Types.Left', V98} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V99) -> begin (V100 = {'Idris.Builtin.MkPair', V49, V50}), (('case--case block in case block in checkClause-11283'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V18, V20, V22, V24, V26, V28, V29, V48, V39, V49, V50, V100, V53, V56, V59, V62, V93, V96, V99, ('nested--17504-10646--in--un--keepOldEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', 'erased', V20, V22, case ('Idris.Idris2.Core.Env':'un--findSubEnv'(V20, V24, V96)) of {'Idris.Builtin.DPair.MkDPair', E32, E33} -> (fun (V101, V102) -> V102 end(E32, E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V40)) end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E10, E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E4, E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkClause,keepOldEnv-10944'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V23 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V24, V25) -> {'Idris.Builtin.DPair.MkDPair', [V17 | V24], {'Idris.Core.TT.KeepCons', V25}} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkClause,keepOldEnv-10860'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V23 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V24, V25) -> {'Idris.Builtin.DPair.MkDPair', [V18 | V24], {'Idris.Core.TT.KeepCons', V25}} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkClause,keepOldEnv-10776'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V23 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V24, V25) -> {'Idris.Builtin.DPair.MkDPair', [V18 | V24], {'Idris.Core.TT.KeepCons', V25}} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkClause,keepOldEnv-10692'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V23 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V24, V25) -> {'Idris.Builtin.DPair.MkDPair', V24, {'Idris.Core.TT.DropCons', V25}} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkClause-10550'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V23 of 0 -> {'Idris.TTImp.Elab.Check.InType'}; 1 -> {'Idris.TTImp.Elab.Check.InExpr'}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkClause-10406'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29) -> case V26 of {'Idris.Core.TT.Meta', E0, E1, E2, E3} -> (fun (V30, V31, V32, V33) -> fun (V34) -> ('Idris.Idris2.Core.Metadata':'un--addLHS'(V16, V14, V13, ('Idris.Idris2.TTImp.TTImp':'un--getFC'(V1)), ('Idris.Idris2.Core.Env':'un--length'('erased', 'erased', V4)), V18, V20, V34)) end end(E0, E1, E2, E3)); _ -> fun (V35) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end. 'case--checkClause-10226'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V16, V17) -> case V17 of {'Idris.Builtin.DPair.MkDPair', E2, E3} -> (fun (V18, V19) -> case V19 of {'Idris.Builtin.MkPair', E4, E5} -> (fun (V20, V21) -> case V21 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V22, V23) -> case V23 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V24, V25) -> case V25 of {'Idris.Builtin.MkPair', E10, E11} -> (fun (V26, V27) -> begin (V37 = begin (V28 = {'Idris.Builtin.MkPair', V16, {'Idris.Builtin.DPair.MkDPair', V18, {'Idris.Builtin.MkPair', V20, {'Idris.Builtin.MkPair', V22, {'Idris.Builtin.MkPair', V24, {'Idris.Builtin.MkPair', V26, V27}}}}}}), ('case--case block in checkClause-10550'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V16, V18, V20, V22, V24, V26, V27, V28, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V29) -> fun (V30) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V29, V30)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V31) -> fun (V32) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V31, V32)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V33) -> fun (V34) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V33, V34)) end end, fun (V35) -> fun (V36) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V35, V36)) end end}}, V11)))) end), fun (V38) -> begin (V39 = (('Idris.Idris2.Core.Context.Log':'un--log'(V14, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Checking RHS "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V0)))) end))(V38))), case V39 of {'Idris.Prelude.Types.Left', E12} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V41) -> begin (V42 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V18, V14, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), <<"In env"/utf8>>, V22, V38))), case V42 of {'Idris.Prelude.Types.Left', E14} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V44) -> begin (V50 = begin (V45 = (('Idris.Idris2.Core.Context':'un--getFullName'(V14, {'Idris.Core.Name.Resolved', V7}))(V38))), case V45 of {'Idris.Prelude.Types.Left', E16} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V47) -> ((('Idris.Idris2.TTImp.Elab.Utils':'un--wrapErrorC'('erased', V6, fun (V49) -> {'Idris.Core.Core.InRHS', V2, V47, V49} end))(fun (V48) -> ('Idris.Idris2.TTImp.Elab':'un--checkTermSub'(V3, V18, V14, V13, V12, V7, V37, V6, V24, V22, V4, V20, V0, ('Idris.Idris2.Core.Normalise':'un--gnf'(V18, V22, V27)), V48)) end))(V38)) end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V50 of {'Idris.Prelude.Types.Left', E18} -> (fun (V51) -> {'Idris.Prelude.Types.Left', V51} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V52) -> begin (V53 = ('Idris.Idris2.Core.Metadata':'un--clearHoleLHS'(V13, V38))), case V53 of {'Idris.Prelude.Types.Left', E20} -> (fun (V54) -> {'Idris.Prelude.Types.Left', V54} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V55) -> begin (V56 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V18, V14, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"RHS term"/utf8>> end, V52, V38))), case V56 of {'Idris.Prelude.Types.Left', E22} -> (fun (V57) -> {'Idris.Prelude.Types.Left', V57} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V58) -> begin (V76 = case V8 of 0 -> begin (V66 = ('Idris.Idris2.Core.Context':'un--addHashWithNames'('erased', V14, {'Idris.Core.Hash.dn--un--__mkHashable', fun (V59) -> ('Idris.Idris2.Core.Hash':'dn--un--hash_Hashable__(Term $vars)'('erased', V59)) end, fun (V60) -> fun (V61) -> ('Idris.Idris2.Core.Hash':'dn--un--hashWithSalt_Hashable__(Term $vars)'('erased', V60, V61)) end end}, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V62) -> fun (V63) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V62, V63)) end end, fun (V64) -> fun (V65) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V64, V65)) end end}, V26, V38))), case V66 of {'Idris.Prelude.Types.Left', E24} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V68) -> ('Idris.Idris2.Core.Context':'un--addHashWithNames'('erased', V14, {'Idris.Core.Hash.dn--un--__mkHashable', fun (V69) -> ('Idris.Idris2.Core.Hash':'dn--un--hash_Hashable__(Term $vars)'('erased', V69)) end, fun (V70) -> fun (V71) -> ('Idris.Idris2.Core.Hash':'dn--un--hashWithSalt_Hashable__(Term $vars)'('erased', V70, V71)) end end}, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V72) -> fun (V73) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V72, V73)) end end, fun (V74) -> fun (V75) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V74, V75)) end end}, V52, V38)) end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V76 of {'Idris.Prelude.Types.Left', E26} -> (fun (V77) -> {'Idris.Prelude.Types.Left', V77} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V78) -> begin (V83 = case V52 of {'Idris.Core.TT.Meta', E28, E29, E30, E31} -> (fun (V79, V80, V81, V82) -> ('Idris.Idris2.Core.Metadata':'un--addLHS'(V18, V14, V13, ('Idris.Idris2.TTImp.TTImp':'un--getFC'(V1)), ('Idris.Idris2.Core.Env':'un--length'('erased', 'erased', V4)), V22, V26, V38)) end(E28, E29, E30, E31)); _ -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end), case V83 of {'Idris.Prelude.Types.Left', E32} -> (fun (V84) -> {'Idris.Prelude.Types.Left', V84} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V85) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Right', {'Idris.Core.Context.MkClause', V18, V22, V26, V52}}} end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E10, E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E4, E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkClause-10131'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of 0 -> fun (V18) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Left', V14}} end; 1 -> fun (V19) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.ValidCase', V0, V2, V3, {'Idris.Prelude.Types.Right', V15}}, V19)) end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkClause-10040'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of {'Idris.Core.Core.ValidCase', E4, E5, E6, E7} -> (fun (V16, V17, V18, V19) -> fun (V20) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', V15, V20)) end end(E4, E5, E6, E7)); _ -> fun (V21) -> begin (V50 = begin (V49 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> fun (V26) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V24, V25, V26)) end end end end end, fun (V27) -> fun (V28) -> fun (V29) -> V28 end end end, fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> fun (V34) -> begin (V35 = (V32(V34))), begin (V36 = (V33(V34))), (V35(V36)) end end end end end end end}, fun (V37) -> fun (V38) -> fun (V39) -> fun (V40) -> fun (V41) -> begin (V42 = (V39(V41))), ((V40(V42))(V41)) end end end end end end, fun (V43) -> fun (V44) -> fun (V45) -> begin (V46 = (V44(V45))), (V46(V45)) end end end end}, fun (V47) -> fun (V48) -> V48 end end}, V13))(V21))), {'Idris.Prelude.Types.Right', V49} end), case V50 of {'Idris.Prelude.Types.Left', E0} -> (fun (V51) -> {'Idris.Prelude.Types.Left', V51} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V52) -> begin (V53 = (('un--impossibleErrOK'(V13, V52, V15))(V21))), case V53 of {'Idris.Prelude.Types.Left', E2} -> (fun (V54) -> {'Idris.Prelude.Types.Left', V54} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V55) -> case V55 of 0 -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Left', V14}}; 1 -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.ValidCase', V0, V2, V3, {'Idris.Prelude.Types.Right', V15}}, V21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'case--case block in case block in checkClause-9913'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28) -> case V28 of 0 -> fun (V29) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Left', V14}} end; 1 -> fun (V30) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.ValidCase', V0, V2, V3, {'Idris.Prelude.Types.Left', V27}}, V30)) end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkClause-9838'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V23 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V24, V25) -> fun (V26) -> begin (V55 = begin (V54 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V27) -> fun (V28) -> fun (V29) -> fun (V30) -> fun (V31) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V29, V30, V31)) end end end end end, fun (V32) -> fun (V33) -> fun (V34) -> V33 end end end, fun (V35) -> fun (V36) -> fun (V37) -> fun (V38) -> fun (V39) -> begin (V40 = (V37(V39))), begin (V41 = (V38(V39))), (V40(V41)) end end end end end end end}, fun (V42) -> fun (V43) -> fun (V44) -> fun (V45) -> fun (V46) -> begin (V47 = (V44(V46))), ((V45(V47))(V46)) end end end end end end, fun (V48) -> fun (V49) -> fun (V50) -> begin (V51 = (V49(V50))), (V51(V50)) end end end end}, fun (V52) -> fun (V53) -> V53 end end}, V13))(V26))), {'Idris.Prelude.Types.Right', V54} end), case V55 of {'Idris.Prelude.Types.Left', E2} -> (fun (V56) -> {'Idris.Prelude.Types.Left', V56} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V57) -> begin (V58 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V13, V0, V57, V3, V24, V26))), case V58 of {'Idris.Prelude.Types.Left', E4} -> (fun (V59) -> {'Idris.Prelude.Types.Left', V59} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V60) -> begin (V61 = (('un--hasEmptyPat'(V0, V13, V57, V3, V60))(V26))), case V61 of {'Idris.Prelude.Types.Left', E6} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V63) -> case V63 of 0 -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Left', V14}}; 1 -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.ValidCase', V0, V2, V3, {'Idris.Prelude.Types.Left', V60}}, V26)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkClause-9742'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V18, V19) -> fun (V20) -> begin (V21 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V13, V15, V20))), case V21 of {'Idris.Prelude.Types.Left', E2} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V23) -> begin (V24 = (('Idris.Idris2.Core.Context.Log':'un--log'(V13, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Checking "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V19)))) end))(V20))), case V24 of {'Idris.Prelude.Types.Left', E4} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V26) -> begin (V27 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V0, V13, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), <<"In env"/utf8>>, V3, V20))), case V27 of {'Idris.Prelude.Types.Left', E6} -> (fun (V28) -> {'Idris.Prelude.Types.Left', V28} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V29) -> begin (V30 = (('Idris.Idris2.TTImp.Elab':'un--elabTerm'(V0, V13, V12, V11, V6, {'Idris.TTImp.Elab.Check.InLHS', V10}, V5, V4, V3, {'Idris.TTImp.TTImp.IBindHere', V2, {'Idris.TTImp.TTImp.PATTERN'}, V19}, {'Idris.Prelude.Types.Nothing'}))(V20))), case V30 of {'Idris.Prelude.Types.Left', E8} -> (fun (V31) -> {'Idris.Prelude.Types.Left', V31} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V32) -> case V32 of {'Idris.Builtin.MkPair', E10, E11} -> (fun (V33, V34) -> begin (V63 = begin (V62 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V35) -> fun (V36) -> fun (V37) -> fun (V38) -> fun (V39) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V37, V38, V39)) end end end end end, fun (V40) -> fun (V41) -> fun (V42) -> V41 end end end, fun (V43) -> fun (V44) -> fun (V45) -> fun (V46) -> fun (V47) -> begin (V48 = (V45(V47))), begin (V49 = (V46(V47))), (V48(V49)) end end end end end end end}, fun (V50) -> fun (V51) -> fun (V52) -> fun (V53) -> fun (V54) -> begin (V55 = (V52(V54))), ((V53(V55))(V54)) end end end end end end, fun (V56) -> fun (V57) -> fun (V58) -> begin (V59 = (V57(V58))), (V59(V58)) end end end end}, fun (V60) -> fun (V61) -> V61 end end}, V13))(V20))), {'Idris.Prelude.Types.Right', V62} end), case V63 of {'Idris.Prelude.Types.Left', E12} -> (fun (V64) -> {'Idris.Prelude.Types.Left', V64} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V65) -> begin (V66 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V13, V0, V65, V3, V33, V20))), case V66 of {'Idris.Prelude.Types.Left', E14} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V68) -> begin (V69 = (('un--hasEmptyPat'(V0, V13, V65, V3, V68))(V20))), case V69 of {'Idris.Prelude.Types.Left', E16} -> (fun (V70) -> {'Idris.Prelude.Types.Left', V70} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V71) -> case V71 of 0 -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Left', V14}}; 1 -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.ValidCase', V0, V2, V3, {'Idris.Prelude.Types.Left', V68}}, V20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E10, E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkLHS-9384'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25) -> case V25 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V26, V27) -> fun (V28) -> begin (V29 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Checked LHS term"/utf8>> end, V26, V28))), case V29 of {'Idris.Prelude.Types.Left', E2} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V31) -> begin (V32 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V27))(V28))), case V32 of {'Idris.Prelude.Types.Left', E4} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V34) -> begin (V63 = begin (V62 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V35) -> fun (V36) -> fun (V37) -> fun (V38) -> fun (V39) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V37, V38, V39)) end end end end end, fun (V40) -> fun (V41) -> fun (V42) -> V41 end end end, fun (V43) -> fun (V44) -> fun (V45) -> fun (V46) -> fun (V47) -> begin (V48 = (V45(V47))), begin (V49 = (V46(V47))), (V48(V49)) end end end end end end end}, fun (V50) -> fun (V51) -> fun (V52) -> fun (V53) -> fun (V54) -> begin (V55 = (V52(V54))), ((V53(V55))(V54)) end end end end end end, fun (V56) -> fun (V57) -> fun (V58) -> begin (V59 = (V57(V58))), (V59(V58)) end end end end}, fun (V60) -> fun (V61) -> V61 end end}, V12))(V28))), {'Idris.Prelude.Types.Right', V62} end), case V63 of {'Idris.Prelude.Types.Left', E6} -> (fun (V64) -> {'Idris.Prelude.Types.Left', V64} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V65) -> begin (V66 = ('Idris.Idris2.Core.Env':'un--letToLam'('erased', V3))), begin (V67 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V12, V2, V65, V66, V26, V28))), case V67 of {'Idris.Prelude.Types.Left', E8} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V69) -> begin (V70 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V12, V2, V65, V3, V34, V28))), case V70 of {'Idris.Prelude.Types.Left', E10} -> (fun (V71) -> {'Idris.Prelude.Types.Left', V71} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V72) -> begin (V77 = (('un--findLinear'(V2, V12, 0, 0, ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V73) -> fun (V74) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V73, V74)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V75) -> fun (V76) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V75, V76)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V69))(V28))), case V77 of {'Idris.Prelude.Types.Left', E12} -> (fun (V78) -> {'Idris.Prelude.Types.Left', V78} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V79) -> begin (V80 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<"Checked LHS term after normalise"/utf8>> end, V69, V28))), case V80 of {'Idris.Prelude.Types.Left', E14} -> (fun (V81) -> {'Idris.Prelude.Types.Left', V81} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V82) -> begin (V98 = (('Idris.Idris2.Core.Context.Log':'un--log'(V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity of names in "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Prelude.Show':'dn--un--show_Show__Int'(V6)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V83) -> ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V84) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V84)) end, fun (V85) -> fun (V86) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V85, V86)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V87) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V87)) end, fun (V88) -> fun (V89) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--showPrec_Show__ZeroOneOmega'(V88, V89)) end end}}, V83)) end, fun (V90) -> fun (V91) -> ('Idris.Idris2.Prelude.Show':'dn--un--showPrec_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V92) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V92)) end, fun (V93) -> fun (V94) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V93, V94)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V95) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V95)) end, fun (V96) -> fun (V97) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--showPrec_Show__ZeroOneOmega'(V96, V97)) end end}}, V90, V91)) end end}, V79)))))))) end))(V28))), case V98 of {'Idris.Prelude.Types.Left', E16} -> (fun (V99) -> {'Idris.Prelude.Types.Left', V99} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V100) -> begin (V101 = (('un--combineLinear'(V1, V79))(V28))), case V101 of {'Idris.Prelude.Types.Left', E18} -> (fun (V102) -> {'Idris.Prelude.Types.Left', V102} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V103) -> begin (V104 = ('un--setLinear'('erased', V103, V69))), begin (V105 = ('un--setLinear'('erased', V103, V72))), begin (V106 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"LHS term"/utf8>> end, V104, V28))), case V106 of {'Idris.Prelude.Types.Left', E20} -> (fun (V107) -> {'Idris.Prelude.Types.Left', V107} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V108) -> begin (V109 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"LHS type"/utf8>> end, V105, V28))), case V109 of {'Idris.Prelude.Types.Left', E22} -> (fun (V110) -> {'Idris.Prelude.Types.Left', V110} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V111) -> begin (V112 = ('Idris.Idris2.Core.Metadata':'un--setHoleLHS'(V11, ('Idris.Idris2.Core.Env':'un--bindEnv'(V2, V1, V3, V104)), V28))), case V112 of {'Idris.Prelude.Types.Left', E24} -> (fun (V113) -> {'Idris.Prelude.Types.Left', V113} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V114) -> begin (V115 = (('un--extendEnv'('erased', V2, V3, {'Idris.Core.TT.SubRefl'}, V4, V104, V105))(V28))), case V115 of {'Idris.Prelude.Types.Left', E26} -> (fun (V116) -> {'Idris.Prelude.Types.Left', V116} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V117) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V21, V117}} end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkLHS-9298'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> case V9 of 0 -> fun (V21) -> {'Idris.Prelude.Types.Right', V18} end; 1 -> ('Idris.Idris2.TTImp.TTImp':'un--implicitsAs'(V12, V13, V2, V18)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in checkLHS-9150'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V9 of 0 -> {'Idris.TTImp.Elab.Check.InTransform'}; 1 -> {'Idris.TTImp.Elab.Check.InLHS', V8}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkLHS-9076'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V18, V19) -> fun (V20) -> begin (V21 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V12, V15, V20))), case V21 of {'Idris.Prelude.Types.Left', E2} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V23) -> begin (V24 = case V9 of 0 -> {'Idris.Prelude.Types.Right', V19}; 1 -> (('Idris.Idris2.TTImp.TTImp':'un--implicitsAs'(V12, V13, V2, V19))(V20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V24 of {'Idris.Prelude.Types.Left', E4} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V26) -> begin (V30 = begin (V27 = (('Idris.Idris2.Core.Context':'un--getFullName'(V12, {'Idris.Core.Name.Resolved', V6}))(V20))), case V27 of {'Idris.Prelude.Types.Left', E6} -> (fun (V28) -> {'Idris.Prelude.Types.Left', V28} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V29) -> (('Idris.Idris2.Core.Context.Log':'un--log'(V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Checking LHS of "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V29)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V26)))))))) end))(V20)) end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V30 of {'Idris.Prelude.Types.Left', E8} -> (fun (V31) -> {'Idris.Prelude.Types.Left', V31} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V32) -> begin (V33 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), <<"In env"/utf8>>, V3, V20))), case V33 of {'Idris.Prelude.Types.Left', E10} -> (fun (V34) -> {'Idris.Prelude.Types.Left', V34} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V35) -> begin (V36 = case V9 of 0 -> {'Idris.TTImp.Elab.Check.InTransform'}; 1 -> {'Idris.TTImp.Elab.Check.InLHS', V8}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), begin (V41 = begin (V37 = (('Idris.Idris2.Core.Context':'un--getFullName'(V12, {'Idris.Core.Name.Resolved', V6}))(V20))), case V37 of {'Idris.Prelude.Types.Left', E12} -> (fun (V38) -> {'Idris.Prelude.Types.Left', V38} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V39) -> ((('Idris.Idris2.TTImp.Elab.Utils':'un--wrapErrorC'('erased', V5, fun (V40) -> {'Idris.Core.Core.InLHS', V1, V39, V40} end))(('Idris.Idris2.TTImp.Elab':'un--elabTerm'(V2, V12, V11, V10, V6, V36, V5, V4, V3, {'Idris.TTImp.TTImp.IBindHere', V1, {'Idris.TTImp.TTImp.PATTERN'}, V26}, {'Idris.Prelude.Types.Nothing'}))))(V20)) end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V41 of {'Idris.Prelude.Types.Left', E14} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V43) -> case V43 of {'Idris.Builtin.MkPair', E16, E17} -> (fun (V44, V45) -> begin (V46 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Checked LHS term"/utf8>> end, V44, V20))), case V46 of {'Idris.Prelude.Types.Left', E18} -> (fun (V47) -> {'Idris.Prelude.Types.Left', V47} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V48) -> begin (V49 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V45))(V20))), case V49 of {'Idris.Prelude.Types.Left', E20} -> (fun (V50) -> {'Idris.Prelude.Types.Left', V50} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V51) -> begin (V80 = begin (V79 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V52) -> fun (V53) -> fun (V54) -> fun (V55) -> fun (V56) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V54, V55, V56)) end end end end end, fun (V57) -> fun (V58) -> fun (V59) -> V58 end end end, fun (V60) -> fun (V61) -> fun (V62) -> fun (V63) -> fun (V64) -> begin (V65 = (V62(V64))), begin (V66 = (V63(V64))), (V65(V66)) end end end end end end end}, fun (V67) -> fun (V68) -> fun (V69) -> fun (V70) -> fun (V71) -> begin (V72 = (V69(V71))), ((V70(V72))(V71)) end end end end end end, fun (V73) -> fun (V74) -> fun (V75) -> begin (V76 = (V74(V75))), (V76(V75)) end end end end}, fun (V77) -> fun (V78) -> V78 end end}, V12))(V20))), {'Idris.Prelude.Types.Right', V79} end), case V80 of {'Idris.Prelude.Types.Left', E22} -> (fun (V81) -> {'Idris.Prelude.Types.Left', V81} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V82) -> begin (V83 = ('Idris.Idris2.Core.Env':'un--letToLam'('erased', V3))), begin (V84 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V12, V2, V82, V83, V44, V20))), case V84 of {'Idris.Prelude.Types.Left', E24} -> (fun (V85) -> {'Idris.Prelude.Types.Left', V85} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V86) -> begin (V87 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V12, V2, V82, V3, V51, V20))), case V87 of {'Idris.Prelude.Types.Left', E26} -> (fun (V88) -> {'Idris.Prelude.Types.Left', V88} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V89) -> begin (V94 = (('un--findLinear'(V2, V12, 0, 0, ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V90) -> fun (V91) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V90, V91)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V92) -> fun (V93) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V92, V93)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V86))(V20))), case V94 of {'Idris.Prelude.Types.Left', E28} -> (fun (V95) -> {'Idris.Prelude.Types.Left', V95} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V96) -> begin (V97 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<"Checked LHS term after normalise"/utf8>> end, V86, V20))), case V97 of {'Idris.Prelude.Types.Left', E30} -> (fun (V98) -> {'Idris.Prelude.Types.Left', V98} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V99) -> begin (V115 = (('Idris.Idris2.Core.Context.Log':'un--log'(V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity of names in "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Prelude.Show':'dn--un--show_Show__Int'(V6)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V100) -> ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V101) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V101)) end, fun (V102) -> fun (V103) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V102, V103)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V104) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V104)) end, fun (V105) -> fun (V106) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--showPrec_Show__ZeroOneOmega'(V105, V106)) end end}}, V100)) end, fun (V107) -> fun (V108) -> ('Idris.Idris2.Prelude.Show':'dn--un--showPrec_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V109) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V109)) end, fun (V110) -> fun (V111) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V110, V111)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V112) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V112)) end, fun (V113) -> fun (V114) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--showPrec_Show__ZeroOneOmega'(V113, V114)) end end}}, V107, V108)) end end}, V96)))))))) end))(V20))), case V115 of {'Idris.Prelude.Types.Left', E32} -> (fun (V116) -> {'Idris.Prelude.Types.Left', V116} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V117) -> begin (V118 = (('un--combineLinear'(V1, V96))(V20))), case V118 of {'Idris.Prelude.Types.Left', E34} -> (fun (V119) -> {'Idris.Prelude.Types.Left', V119} end(E34)); {'Idris.Prelude.Types.Right', E35} -> (fun (V120) -> begin (V121 = ('un--setLinear'('erased', V120, V86))), begin (V122 = ('un--setLinear'('erased', V120, V89))), begin (V123 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"LHS term"/utf8>> end, V121, V20))), case V123 of {'Idris.Prelude.Types.Left', E36} -> (fun (V124) -> {'Idris.Prelude.Types.Left', V124} end(E36)); {'Idris.Prelude.Types.Right', E37} -> (fun (V125) -> begin (V126 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V2, V12, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"LHS type"/utf8>> end, V122, V20))), case V126 of {'Idris.Prelude.Types.Left', E38} -> (fun (V127) -> {'Idris.Prelude.Types.Left', V127} end(E38)); {'Idris.Prelude.Types.Right', E39} -> (fun (V128) -> begin (V129 = ('Idris.Idris2.Core.Metadata':'un--setHoleLHS'(V11, ('Idris.Idris2.Core.Env':'un--bindEnv'(V2, V1, V3, V121)), V20))), case V129 of {'Idris.Prelude.Types.Left', E40} -> (fun (V130) -> {'Idris.Prelude.Types.Left', V130} end(E40)); {'Idris.Prelude.Types.Right', E41} -> (fun (V131) -> begin (V132 = (('un--extendEnv'('erased', V2, V3, {'Idris.Core.TT.SubRefl'}, V4, V121, V122))(V20))), case V132 of {'Idris.Prelude.Types.Left', E42} -> (fun (V133) -> {'Idris.Prelude.Types.Left', V133} end(E42)); {'Idris.Prelude.Types.Right', E43} -> (fun (V134) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V26, V134}} end(E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E39)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkLHS-9017'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V9 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', V0} end; 1 -> ('Idris.Idris2.TTImp.TTImp':'un--lhsInCurrentNS'('erased', V12, V4, V0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--combineLinear-8911'(V0, V1, V2, V3, V4) -> case V4 of [] -> fun (V5) -> begin (V6 = (('un--combineLinear'(V3, V2))(V5))), case V6 of {'Idris.Prelude.Types.Left', E4} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V8) -> {'Idris.Prelude.Types.Right', [{'Idris.Builtin.MkPair', V0, V1} | V8]} end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> fun (V9) -> begin (V10 = (('nested--16460-8759--in--un--combineAll'(V0, V1, V2, V3, V1, V4))(V9))), case V10 of {'Idris.Prelude.Types.Left', E0} -> (fun (V11) -> {'Idris.Prelude.Types.Left', V11} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V12) -> begin (V14 = (('un--combineLinear'(V3, ('Idris.Idris2.Data.List':'un--filter'('erased', fun (V13) -> ('nested--16460-8756--in--un--notN'(V0, V1, V2, V3, V13)) end, V2))))(V9))), case V14 of {'Idris.Prelude.Types.Left', E2} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V16) -> {'Idris.Prelude.Types.Right', [{'Idris.Builtin.MkPair', V0, V12} | V16]} end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'case--combineLinear,combine-8856'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of 0 -> fun (V7) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.LinearUsed', V3, (1 + (1 + 0)), V0}, V7)) end; 1 -> fun (V8) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Algebra.Preorder':'un--lub'('erased', {'Idris.Algebra.Preorder.dn--un--__mkPreorder', fun (V9) -> fun (V10) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--<=_Preorder__ZeroOneOmega'(V9, V10)) end end, fun (V11) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderRefl_Preorder__ZeroOneOmega'(V11)) end, fun (V12) -> fun (V13) -> fun (V14) -> fun (V15) -> fun (V16) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderTrans_Preorder__ZeroOneOmega'(V12, V13, V14, V15, V16)) end end end end end}, V5, V4))} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--combineLinear,lookupAll-8790'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of 0 -> [V5 | ('nested--16460-8757--in--un--lookupAll'(V0, V1, V2, V3, V7, V6))]; 1 -> ('nested--16460-8757--in--un--lookupAll'(V0, V1, V2, V3, V7, V6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--setLinear-8693'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Prelude.Types.Just', E0} -> (fun (V10) -> {'Idris.Core.TT.Bind', V7, V4, ('Idris.Idris2.Core.TT':'un--setMultiplicity'('erased', V6, V10)), ('un--setLinear'('erased', V8, V5))} end(E0)); _ -> {'Idris.Core.TT.Bind', V7, V4, V6, ('un--setLinear'('erased', V8, V5))} end. 'case--setLinear-8623'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Prelude.Types.Just', E0} -> (fun (V11) -> {'Idris.Core.TT.Bind', V8, V5, ('Idris.Idris2.Core.TT':'un--setMultiplicity'('erased', V7, V11)), ('un--setLinear'('erased', V9, V6))} end(E0)); _ -> {'Idris.Core.TT.Bind', V8, V5, V7, ('un--setLinear'('erased', V9, V6))} end. 'case--case block in findLinear-8522'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Prelude.Types.Just', E0} -> (fun (V12) -> fun (V13) -> begin (V14 = (('Idris.Idris2.Core.Normalise':'un--nf'(V5, [], V10, {'Idris.Core.Env.Nil'}, V12))(V13))), case V14 of {'Idris.Prelude.Types.Left', E1} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V16) -> (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V0, ('nested--15749-8128--in--un--accessible'(V0, V1, V2, V3, V4, V5, V8, V2)), V16, V9))(V13)) end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V17) -> {'Idris.Prelude.Types.Right', []} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--findLinear-8458'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V7, V8) -> case V7 of {'Idris.Core.TT.Ref', E2, E3, E4} -> (fun (V9, V10, V11) -> case V8 of [] -> fun (V12) -> {'Idris.Prelude.Types.Right', []} end; _ -> fun (V13) -> begin (V42 = begin (V41 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V14) -> fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V16, V17, V18)) end end end end end, fun (V19) -> fun (V20) -> fun (V21) -> V20 end end end, fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> fun (V26) -> begin (V27 = (V24(V26))), begin (V28 = (V25(V26))), (V27(V28)) end end end end end end end}, fun (V29) -> fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> begin (V34 = (V31(V33))), ((V32(V34))(V33)) end end end end end end, fun (V35) -> fun (V36) -> fun (V37) -> begin (V38 = (V36(V37))), (V38(V37)) end end end end}, fun (V39) -> fun (V40) -> V40 end end}, V5))(V13))), {'Idris.Prelude.Types.Right', V41} end), case V42 of {'Idris.Prelude.Types.Left', E5} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V44) -> begin (V71 = ('Idris.Idris2.Core.Context':'un--lookupTyExact'(V11, case V44 of {'Idris.Core.Context.MkDefs', E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32} -> (fun (V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70) -> V45 end(E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V13))), case V71 of {'Idris.Prelude.Types.Left', E33} -> (fun (V72) -> {'Idris.Prelude.Types.Left', V72} end(E33)); {'Idris.Prelude.Types.Right', E34} -> (fun (V73) -> case V73 of {'Idris.Prelude.Types.Just', E35} -> (fun (V74) -> begin (V75 = (('Idris.Idris2.Core.Normalise':'un--nf'(V5, [], V44, {'Idris.Core.Env.Nil'}, V74))(V13))), case V75 of {'Idris.Prelude.Types.Left', E36} -> (fun (V76) -> {'Idris.Prelude.Types.Left', V76} end(E36)); {'Idris.Prelude.Types.Right', E37} -> (fun (V77) -> (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V0, ('nested--15749-8128--in--un--accessible'(V0, V1, V2, V3, V4, V5, V10, V2)), V77, V8))(V13)) end(E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E35)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', []} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E34)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E2, E3, E4)); _ -> fun (V78) -> {'Idris.Prelude.Types.Right', []} end end end(E0, E1)); _ -> fun (V79) -> {'Idris.Prelude.Types.Right', []} end end. 'case--findLinear,findLinArg-8236'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> case V23 of 0 -> fun (V24) -> begin (V25 = (((V13(V21))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), {'Idris.Core.Env.Nil'}, {'Idris.Core.TT.Ref', V18, {'Idris.Core.TT.Bound'}, V14}))))(V24))), case V25 of {'Idris.Prelude.Types.Left', E0} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V27) -> begin (V28 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V20, V27, V19))(V24))), case V28 of {'Idris.Prelude.Types.Left', E2} -> (fun (V29) -> {'Idris.Prelude.Types.Left', V29} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V30) -> {'Idris.Prelude.Types.Right', [{'Idris.Builtin.MkPair', V22, ('Idris.Idris2.Algebra.ZeroOneOmega':'un--rigMult'(V12, V20))} | V30]} end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V31) -> begin (V32 = (((V13(V21))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), {'Idris.Core.Env.Nil'}, {'Idris.Core.TT.Ref', V18, {'Idris.Core.TT.Bound'}, V14}))))(V31))), case V32 of {'Idris.Prelude.Types.Left', E4} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V34) -> (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V20, V34, V19))(V31)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--findLinear,accessible-8135'(V0, V1, V2, V3, V4, V5, V6) -> case V4 of 0 -> V6; 1 -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V7) -> fun (V8) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V7, V8)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V9) -> fun (V10) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V9, V10)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--recoverable-7635'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', 1} end; 1 -> fun (V15) -> begin (V17 = (('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V16) -> ('un--mismatch'(V12, V0, V11, V16)) end, ('Idris.Idris2.Data.List':'un--zip'('erased', 'erased', V7, V9))))(V15))), case V17 of {'Idris.Prelude.Types.Left', E0} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V19) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--not'(V19))} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--recoverable-7542'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', 1} end; 1 -> fun (V15) -> begin (V17 = (('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V16) -> ('un--mismatch'(V12, V0, V11, V16)) end, ('Idris.Idris2.Data.List':'un--zip'('erased', 'erased', V3, V7))))(V15))), case V17 of {'Idris.Prelude.Types.Left', E0} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V19) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--not'(V19))} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--impossibleOK-7295'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', 0} end; 1 -> ('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V15) -> ('un--mismatch'(V12, V0, V11, V15)) end, ('Idris.Idris2.Data.List':'un--zip'('erased', 'erased', V7, V9)))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--impossibleOK-7208'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> ('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V14) -> ('un--mismatch'(V12, V0, V11, V14)) end, ('Idris.Idris2.Data.List':'un--zip'('erased', 'erased', V3, V7)))); 1 -> fun (V15) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--mismatchNF-7025'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', 0} end; 1 -> ('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V15) -> ('un--mismatch'(V12, V0, V11, V15)) end, ('Idris.Idris2.Data.List':'un--zip'('erased', 'erased', V7, V9)))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--mismatchNF-6938'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', 0} end; 1 -> ('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V15) -> ('un--mismatch'(V12, V0, V11, V15)) end, ('Idris.Idris2.Data.List':'un--zip'('erased', 'erased', V5, V8)))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--23555-14797--in--un--withTotality'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> begin (V14 = ('Idris.Idris2.Core.Context':'un--getDefaultTotalityOption'(V9, V13))), case V14 of {'Idris.Prelude.Types.Left', E0} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V16) -> begin (V17 = ('Idris.Idris2.Core.Context':'un--setDefaultTotalityOption'(V9, V11, V13))), case V17 of {'Idris.Prelude.Types.Left', E2} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V19) -> begin (V25 = ('Idris.Idris2.Core.Core':'dn--un--catch_Catchable__Core_Error'('erased', (V12()), fun (V20) -> fun (V21) -> begin (V22 = ('Idris.Idris2.Core.Context':'un--setDefaultTotalityOption'(V9, V16, V21))), case V22 of {'Idris.Prelude.Types.Left', E4} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V24) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', V20, V21)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end, V13))), case V25 of {'Idris.Prelude.Types.Left', E6} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V27) -> begin (V28 = ('Idris.Idris2.Core.Context':'un--setDefaultTotalityOption'(V9, V16, V13))), case V28 of {'Idris.Prelude.Types.Left', E8} -> (fun (V29) -> {'Idris.Prelude.Types.Left', V29} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V30) -> {'Idris.Prelude.Types.Right', V27} end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'nested--22551-13910--in--un--toErased'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V8, V9) -> case V9 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V10, V11) -> case V11 of {'Idris.Builtin.MkPair', E4, E5} -> (fun (V12, V13) -> fun (V14) -> begin (V19 = ('Idris.Idris2.Core.LinearCheck':'un--linearCheck'(V8, V4, V2, V5, ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V15) -> fun (V16) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V15, V16)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V17) -> fun (V18) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V17, V18)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), 0, V10, V12, V14))), case V19 of {'Idris.Prelude.Types.Left', E6} -> (fun (V20) -> {'Idris.Prelude.Types.Left', V20} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V21) -> begin (V22 = (('Idris.Idris2.Core.Transform':'un--applyTransforms'('erased', V4, V10, V13))(V14))), case V22 of {'Idris.Prelude.Types.Left', E8} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V24) -> begin (V25 = (('Idris.Idris2.TTImp.PartialEval':'un--applySpecialise'(V8, V4, V3, V2, V10, V6, V24))(V14))), case V25 of {'Idris.Prelude.Types.Left', E10} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V27) -> begin (V32 = ('Idris.Idris2.Core.LinearCheck':'un--linearCheck'(V8, V4, V2, V5, ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V28) -> fun (V29) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V28, V29)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V30) -> fun (V31) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V30, V31)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), 0, V10, V27, V14))), case V32 of {'Idris.Prelude.Types.Left', E12} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V34) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.DPair.MkDPair', V8, {'Idris.Builtin.MkPair', V10, {'Idris.Builtin.MkPair', V21, V34}}}} end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E4, E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--22551-13911--in--un--toClause'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of {'Idris.Builtin.DPair.MkDPair', E0, E1} -> (fun (V7, V8) -> case V8 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E4, E5} -> (fun (V11, V12) -> {'Idris.Core.Context.MkClause', V7, V9, V11, V12} end(E4, E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--23555-14798--in--un--simplePat'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Core.TT.Local', E0, E1, E2} -> (fun (V12, V13, V14) -> 0 end(E0, E1, E2)); {'Idris.Core.TT.Erased', E3, E4} -> (fun (V15, V16) -> 0 end(E3, E4)); {'Idris.Core.TT.As', E5, E6, E7, E8} -> (fun (V17, V18, V19, V20) -> ('nested--23555-14798--in--un--simplePat'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V20)) end(E5, E6, E7, E8)); _ -> 1 end. 'nested--16460-8756--in--un--notN'(V0, V1, V2, V3, V4) -> case V4 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V5, V6) -> ('Idris.Idris2.Core.Name':'dn--un--/=_Eq__Name'(V0, V5)) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--22551-13905--in--un--mkCrash'(V0, V1, V2, V3, V4, V5, V6) -> ('Idris.Idris2.Core.TT':'un--apply'('erased', V1, {'Idris.Core.TT.Ref', V1, {'Idris.Core.TT.Func'}, {'Idris.Core.Name.NS', ('Idris.Idris2.Core.Name.Namespace':'un--builtinNS'()), {'Idris.Core.Name.UN', <<"idris_crash"/utf8>>}}}, [{'Idris.Core.TT.Erased', V1, 1} | [{'Idris.Core.TT.PrimVal', V1, {'Idris.Core.TT.Str', V6}} | []]])). 'nested--17504-10647--in--un--mkClauseWith'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21) -> case V21 of {'Idris.TTImp.TTImp.PatClause', E0, E1, E2} -> (fun (V22, V23, V24) -> fun (V25) -> begin (V26 = ('Idris.Idris2.TTImp.WithClause':'un--getNewLHS'('erased', V16, V22, V17, V7, V18, V19, V20, V23, V25))), case V26 of {'Idris.Prelude.Types.Left', E3} -> (fun (V27) -> {'Idris.Prelude.Types.Left', V27} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V28) -> begin (V29 = (('Idris.Idris2.TTImp.WithClause':'un--withRHS'(V16, V22, V17, V18, V19, V24, V20))(V25))), case V29 of {'Idris.Prelude.Types.Left', E5} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V31) -> {'Idris.Prelude.Types.Right', {'Idris.TTImp.TTImp.PatClause', V22, V28, V31}} end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2)); {'Idris.TTImp.TTImp.WithClause', E7, E8, E9, E10, E11} -> (fun (V32, V33, V34, V35, V36) -> fun (V37) -> begin (V38 = ('Idris.Idris2.TTImp.WithClause':'un--getNewLHS'('erased', V16, V32, V17, V7, V18, V19, V20, V33, V37))), case V38 of {'Idris.Prelude.Types.Left', E12} -> (fun (V39) -> {'Idris.Prelude.Types.Left', V39} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V40) -> begin (V41 = (('Idris.Idris2.TTImp.WithClause':'un--withRHS'(V16, V32, V17, V18, V19, V34, V20))(V37))), case V41 of {'Idris.Prelude.Types.Left', E14} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V43) -> begin (V45 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V44) -> ('nested--17504-10647--in--un--mkClauseWith'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, (1 + V17), V18, V19, V20, V44)) end, V36))(V37))), case V45 of {'Idris.Prelude.Types.Left', E16} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V47) -> {'Idris.Prelude.Types.Right', {'Idris.TTImp.TTImp.WithClause', V32, V40, V43, V35, V47}} end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E7, E8, E9, E10, E11)); {'Idris.TTImp.TTImp.ImpossibleClause', E18, E19} -> (fun (V48, V49) -> fun (V50) -> begin (V51 = ('Idris.Idris2.TTImp.WithClause':'un--getNewLHS'('erased', V16, V48, V17, V7, V18, V19, V20, V49, V50))), case V51 of {'Idris.Prelude.Types.Left', E20} -> (fun (V52) -> {'Idris.Prelude.Types.Left', V52} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V53) -> {'Idris.Prelude.Types.Right', {'Idris.TTImp.TTImp.ImpossibleClause', V48, V53}} end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E18, E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--22551-13906--in--un--matchAny'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of {'Idris.Core.TT.App', E0, E1, E2} -> (fun (V7, V8, V9) -> {'Idris.Core.TT.App', V7, ('nested--22551-13906--in--un--matchAny'(V0, V1, V2, V3, V4, 'erased', V8)), {'Idris.Core.TT.Erased', V7, 1}} end(E0, E1, E2)); _ -> V6 end. 'nested--22551-13907--in--un--makeErrorClause'(V0, V1, V2, V3, V4, V5, V6, V7) -> {'Idris.Core.Context.MkClause', V5, V6, ('nested--22551-13906--in--un--matchAny'(V0, V1, V2, V3, V4, 'erased', V7)), ('nested--22551-13905--in--un--mkCrash'(V0, V1, V2, V3, V4, V5, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Unhandled input for "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V0)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" at "/utf8>>, ('Idris.Idris2.Core.FC':'dn--un--show_Show__FC'(V1))))))))))}. 'nested--16460-8757--in--un--lookupAll'(V0, V1, V2, V3, V4, V5) -> case V5 of [] -> []; [E0 | E1] -> (fun (V6, V7) -> case V6 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V8, V9) -> ('case--combineLinear,lookupAll-8790'(V0, V1, V2, V3, V8, V9, V7, V4, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V4, V8)))) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--17504-10646--in--un--keepOldEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21) -> case V20 of {'Idris.Core.TT.SubRefl'} -> (fun () -> {'Idris.Builtin.DPair.MkDPair', V19, {'Idris.Core.TT.SubRefl'}} end()); _ -> case V21 of {'Idris.Core.TT.SubRefl'} -> (fun () -> {'Idris.Builtin.DPair.MkDPair', V19, {'Idris.Core.TT.SubRefl'}} end()); _ -> case V19 of [E0 | E1] -> (fun (V22, V23) -> case V20 of {'Idris.Core.TT.DropCons', E2} -> (fun (V24) -> case V21 of {'Idris.Core.TT.DropCons', E3} -> (fun (V25) -> ('case--checkClause,keepOldEnv-10692'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', 'erased', V22, V23, V24, V25, ('nested--17504-10646--in--un--keepOldEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', 'erased', V23, V24, V25)))) end(E3)); {'Idris.Core.TT.KeepCons', E4} -> (fun (V26) -> ('case--checkClause,keepOldEnv-10776'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', V22, V23, 'erased', V24, V26, ('nested--17504-10646--in--un--keepOldEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', 'erased', V23, V24, V26)))) end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2)); {'Idris.Core.TT.KeepCons', E5} -> (fun (V27) -> case V21 of {'Idris.Core.TT.DropCons', E6} -> (fun (V28) -> ('case--checkClause,keepOldEnv-10860'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', V22, V23, 'erased', V27, V28, ('nested--17504-10646--in--un--keepOldEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', 'erased', V23, V27, V28)))) end(E6)); {'Idris.Core.TT.KeepCons', E7} -> (fun (V29) -> ('case--checkClause,keepOldEnv-10944'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V22, V23, 'erased', 'erased', V27, V29, ('nested--17504-10646--in--un--keepOldEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, 'erased', 'erased', V23, V27, V29)))) end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end. 'nested--22551-13909--in--un--getSpec'(V0, V1, V2, V3, V4, V5) -> case V5 of [] -> {'Idris.Prelude.Types.Nothing'}; [E0 | E1] -> (fun (V6, V7) -> case V6 of {'Idris.Core.Context.PartialEval', E2} -> (fun (V8) -> {'Idris.Prelude.Types.Just', V8} end(E2)); _ -> ('nested--22551-13909--in--un--getSpec'(V0, V1, V2, V3, V4, V7)) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--23555-14801--in--un--getClause'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Prelude.Types.Left', E0} -> (fun (V11) -> fun (V12) -> ('Idris.Idris2.Core.Core':'dn--un--catch_Catchable__Core_Error'('erased', fun (V13) -> begin (V14 = ('Idris.Idris2.TTImp.Impossible':'un--getImpossibleTerm'(V0, V9, V4, V5, V11, V13))), case V14 of {'Idris.Prelude.Types.Left', E1} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V16) -> begin (V17 = (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + 0))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Generated impossible LHS: "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'([], V16)))) end))(V13))), case V17 of {'Idris.Prelude.Types.Left', E3} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', {'Idris.Core.Context.MkClause', [], {'Idris.Core.Env.Nil'}, V16, {'Idris.Core.TT.Erased', ('Idris.Idris2.TTImp.TTImp':'un--getFC'(V11)), 0}}}} end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, fun (V20) -> fun (V21) -> begin (V22 = (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Error in getClause "/utf8>>, ('Idris.Idris2.Core.Core':'dn--un--show_Show__Error'(V20)))) end))(V21))), case V22 of {'Idris.Prelude.Types.Left', E5} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end, V12)) end end(E0)); {'Idris.Prelude.Types.Right', E7} -> (fun (V25) -> fun (V26) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V25}} end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of [E41 | E42] -> (fun (V10, V11) -> case V10 of {'Idris.Core.TT.As', E84, E85, E86, E87} -> (fun (V12, V13, V14, V15) -> case V13 of {'Idris.Core.TT.UseLeft'} -> (fun () -> ('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, [V15 | V11])) end()); {'Idris.Core.TT.UseRight'} -> (fun () -> ('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, [V14 | V11])) end()); _ -> case V8 of {'Idris.Core.Value.NBind', E94, E95, E96, E97} -> (fun (V16, V17, V18, V19) -> case V18 of {'Idris.Core.TT.Pi', E104, E105, E106, E107} -> (fun (V20, V21, V22, V23) -> case V9 of [E114 | E115] -> (fun (V24, V25) -> case V24 of {'Idris.Core.TT.Local', E124, E125, E126} -> (fun (V26, V27, V28) -> fun (V29) -> begin (V58 = begin (V57 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> fun (V34) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V32, V33, V34)) end end end end end, fun (V35) -> fun (V36) -> fun (V37) -> V36 end end end, fun (V38) -> fun (V39) -> fun (V40) -> fun (V41) -> fun (V42) -> begin (V43 = (V40(V42))), begin (V44 = (V41(V42))), (V43(V44)) end end end end end end end}, fun (V45) -> fun (V46) -> fun (V47) -> fun (V48) -> fun (V49) -> begin (V50 = (V47(V49))), ((V48(V50))(V49)) end end end end end end, fun (V51) -> fun (V52) -> fun (V53) -> begin (V54 = (V52(V53))), (V54(V53)) end end end end}, fun (V55) -> fun (V56) -> V56 end end}, V5))(V29))), {'Idris.Prelude.Types.Right', V57} end), case V58 of {'Idris.Prelude.Types.Left', E127} -> (fun (V59) -> {'Idris.Prelude.Types.Left', V59} end(E127)); {'Idris.Prelude.Types.Right', E128} -> (fun (V60) -> begin (V61 = ('Idris.Idris2.Core.TT':'un--nameAt'('erased', V6, V28, 'erased'))), (('case--findLinear,findLinArg-8236'(V0, V1, V2, V3, V4, V5, V6, V27, V16, V20, V22, V23, V21, V19, V17, V28, 'erased', 'erased', V26, V25, V7, V60, V61, ('Idris.Idris2.Prelude.Types':'dn--un--<_Ord__Nat'(V28, V3))))(V29)) end end(E128)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E124, E125, E126)); _ -> fun (V62) -> begin (V91 = begin (V90 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V63) -> fun (V64) -> fun (V65) -> fun (V66) -> fun (V67) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V65, V66, V67)) end end end end end, fun (V68) -> fun (V69) -> fun (V70) -> V69 end end end, fun (V71) -> fun (V72) -> fun (V73) -> fun (V74) -> fun (V75) -> begin (V76 = (V73(V75))), begin (V77 = (V74(V75))), (V76(V77)) end end end end end end end}, fun (V78) -> fun (V79) -> fun (V80) -> fun (V81) -> fun (V82) -> begin (V83 = (V80(V82))), ((V81(V83))(V82)) end end end end end end, fun (V84) -> fun (V85) -> fun (V86) -> begin (V87 = (V85(V86))), (V87(V86)) end end end end}, fun (V88) -> fun (V89) -> V89 end end}, V5))(V62))), {'Idris.Prelude.Types.Right', V90} end), case V91 of {'Idris.Prelude.Types.Left', E116} -> (fun (V92) -> {'Idris.Prelude.Types.Left', V92} end(E116)); {'Idris.Prelude.Types.Right', E117} -> (fun (V93) -> begin (V94 = (('un--findLinear'(V6, V5, 1, V3, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V21, V7)), V24))(V62))), case V94 of {'Idris.Prelude.Types.Left', E118} -> (fun (V95) -> {'Idris.Prelude.Types.Left', V95} end(E118)); {'Idris.Prelude.Types.Right', E119} -> (fun (V96) -> begin (V97 = (((V19(V93))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), {'Idris.Core.Env.Nil'}, {'Idris.Core.TT.Ref', V16, {'Idris.Core.TT.Bound'}, V17}))))(V62))), case V97 of {'Idris.Prelude.Types.Left', E120} -> (fun (V98) -> {'Idris.Prelude.Types.Left', V98} end(E120)); {'Idris.Prelude.Types.Right', E121} -> (fun (V99) -> begin (V100 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V99, V25))(V62))), case V100 of {'Idris.Prelude.Types.Left', E122} -> (fun (V101) -> {'Idris.Prelude.Types.Left', V101} end(E122)); {'Idris.Prelude.Types.Right', E123} -> (fun (V102) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V96, V102))} end(E123)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E121)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E119)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E117)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E114, E115)); _ -> case V9 of [E108 | E109] -> (fun (V103, V104) -> fun (V105) -> begin (V106 = (('un--findLinear'(V6, V5, 1, V3, V7, V103))(V105))), case V106 of {'Idris.Prelude.Types.Left', E110} -> (fun (V107) -> {'Idris.Prelude.Types.Left', V107} end(E110)); {'Idris.Prelude.Types.Right', E111} -> (fun (V108) -> begin (V109 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V104))(V105))), case V109 of {'Idris.Prelude.Types.Left', E112} -> (fun (V110) -> {'Idris.Prelude.Types.Left', V110} end(E112)); {'Idris.Prelude.Types.Right', E113} -> (fun (V111) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V108, V111))} end(E113)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E111)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E108, E109)); [] -> fun (V112) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E104, E105, E106, E107)); _ -> case V9 of [E98 | E99] -> (fun (V113, V114) -> fun (V115) -> begin (V116 = (('un--findLinear'(V6, V5, 1, V3, V7, V113))(V115))), case V116 of {'Idris.Prelude.Types.Left', E100} -> (fun (V117) -> {'Idris.Prelude.Types.Left', V117} end(E100)); {'Idris.Prelude.Types.Right', E101} -> (fun (V118) -> begin (V119 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V114))(V115))), case V119 of {'Idris.Prelude.Types.Left', E102} -> (fun (V120) -> {'Idris.Prelude.Types.Left', V120} end(E102)); {'Idris.Prelude.Types.Right', E103} -> (fun (V121) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V118, V121))} end(E103)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E101)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E98, E99)); [] -> fun (V122) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E94, E95, E96, E97)); _ -> case V9 of [E88 | E89] -> (fun (V123, V124) -> fun (V125) -> begin (V126 = (('un--findLinear'(V6, V5, 1, V3, V7, V123))(V125))), case V126 of {'Idris.Prelude.Types.Left', E90} -> (fun (V127) -> {'Idris.Prelude.Types.Left', V127} end(E90)); {'Idris.Prelude.Types.Right', E91} -> (fun (V128) -> begin (V129 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V124))(V125))), case V129 of {'Idris.Prelude.Types.Left', E92} -> (fun (V130) -> {'Idris.Prelude.Types.Left', V130} end(E92)); {'Idris.Prelude.Types.Right', E93} -> (fun (V131) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V128, V131))} end(E93)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E91)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E88, E89)); [] -> fun (V132) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E84, E85, E86, E87)); _ -> case V8 of {'Idris.Core.Value.NBind', E49, E50, E51, E52} -> (fun (V133, V134, V135, V136) -> case V135 of {'Idris.Core.TT.Pi', E59, E60, E61, E62} -> (fun (V137, V138, V139, V140) -> case V9 of [E69 | E70] -> (fun (V141, V142) -> case V141 of {'Idris.Core.TT.Local', E79, E80, E81} -> (fun (V143, V144, V145) -> fun (V146) -> begin (V175 = begin (V174 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V147) -> fun (V148) -> fun (V149) -> fun (V150) -> fun (V151) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V149, V150, V151)) end end end end end, fun (V152) -> fun (V153) -> fun (V154) -> V153 end end end, fun (V155) -> fun (V156) -> fun (V157) -> fun (V158) -> fun (V159) -> begin (V160 = (V157(V159))), begin (V161 = (V158(V159))), (V160(V161)) end end end end end end end}, fun (V162) -> fun (V163) -> fun (V164) -> fun (V165) -> fun (V166) -> begin (V167 = (V164(V166))), ((V165(V167))(V166)) end end end end end end, fun (V168) -> fun (V169) -> fun (V170) -> begin (V171 = (V169(V170))), (V171(V170)) end end end end}, fun (V172) -> fun (V173) -> V173 end end}, V5))(V146))), {'Idris.Prelude.Types.Right', V174} end), case V175 of {'Idris.Prelude.Types.Left', E82} -> (fun (V176) -> {'Idris.Prelude.Types.Left', V176} end(E82)); {'Idris.Prelude.Types.Right', E83} -> (fun (V177) -> begin (V178 = ('Idris.Idris2.Core.TT':'un--nameAt'('erased', V6, V145, 'erased'))), (('case--findLinear,findLinArg-8236'(V0, V1, V2, V3, V4, V5, V6, V144, V133, V137, V139, V140, V138, V136, V134, V145, 'erased', 'erased', V143, V142, V7, V177, V178, ('Idris.Idris2.Prelude.Types':'dn--un--<_Ord__Nat'(V145, V3))))(V146)) end end(E83)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E79, E80, E81)); _ -> fun (V179) -> begin (V208 = begin (V207 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V180) -> fun (V181) -> fun (V182) -> fun (V183) -> fun (V184) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V182, V183, V184)) end end end end end, fun (V185) -> fun (V186) -> fun (V187) -> V186 end end end, fun (V188) -> fun (V189) -> fun (V190) -> fun (V191) -> fun (V192) -> begin (V193 = (V190(V192))), begin (V194 = (V191(V192))), (V193(V194)) end end end end end end end}, fun (V195) -> fun (V196) -> fun (V197) -> fun (V198) -> fun (V199) -> begin (V200 = (V197(V199))), ((V198(V200))(V199)) end end end end end end, fun (V201) -> fun (V202) -> fun (V203) -> begin (V204 = (V202(V203))), (V204(V203)) end end end end}, fun (V205) -> fun (V206) -> V206 end end}, V5))(V179))), {'Idris.Prelude.Types.Right', V207} end), case V208 of {'Idris.Prelude.Types.Left', E71} -> (fun (V209) -> {'Idris.Prelude.Types.Left', V209} end(E71)); {'Idris.Prelude.Types.Right', E72} -> (fun (V210) -> begin (V211 = (('un--findLinear'(V6, V5, 1, V3, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V138, V7)), V141))(V179))), case V211 of {'Idris.Prelude.Types.Left', E73} -> (fun (V212) -> {'Idris.Prelude.Types.Left', V212} end(E73)); {'Idris.Prelude.Types.Right', E74} -> (fun (V213) -> begin (V214 = (((V136(V210))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), {'Idris.Core.Env.Nil'}, {'Idris.Core.TT.Ref', V133, {'Idris.Core.TT.Bound'}, V134}))))(V179))), case V214 of {'Idris.Prelude.Types.Left', E75} -> (fun (V215) -> {'Idris.Prelude.Types.Left', V215} end(E75)); {'Idris.Prelude.Types.Right', E76} -> (fun (V216) -> begin (V217 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V216, V142))(V179))), case V217 of {'Idris.Prelude.Types.Left', E77} -> (fun (V218) -> {'Idris.Prelude.Types.Left', V218} end(E77)); {'Idris.Prelude.Types.Right', E78} -> (fun (V219) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V213, V219))} end(E78)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E76)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E74)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E72)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E69, E70)); _ -> case V9 of [E63 | E64] -> (fun (V220, V221) -> fun (V222) -> begin (V223 = (('un--findLinear'(V6, V5, 1, V3, V7, V220))(V222))), case V223 of {'Idris.Prelude.Types.Left', E65} -> (fun (V224) -> {'Idris.Prelude.Types.Left', V224} end(E65)); {'Idris.Prelude.Types.Right', E66} -> (fun (V225) -> begin (V226 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V221))(V222))), case V226 of {'Idris.Prelude.Types.Left', E67} -> (fun (V227) -> {'Idris.Prelude.Types.Left', V227} end(E67)); {'Idris.Prelude.Types.Right', E68} -> (fun (V228) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V225, V228))} end(E68)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E66)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E63, E64)); [] -> fun (V229) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E59, E60, E61, E62)); _ -> case V9 of [E53 | E54] -> (fun (V230, V231) -> fun (V232) -> begin (V233 = (('un--findLinear'(V6, V5, 1, V3, V7, V230))(V232))), case V233 of {'Idris.Prelude.Types.Left', E55} -> (fun (V234) -> {'Idris.Prelude.Types.Left', V234} end(E55)); {'Idris.Prelude.Types.Right', E56} -> (fun (V235) -> begin (V236 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V231))(V232))), case V236 of {'Idris.Prelude.Types.Left', E57} -> (fun (V237) -> {'Idris.Prelude.Types.Left', V237} end(E57)); {'Idris.Prelude.Types.Right', E58} -> (fun (V238) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V235, V238))} end(E58)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E56)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E53, E54)); [] -> fun (V239) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E49, E50, E51, E52)); _ -> case V9 of [E43 | E44] -> (fun (V240, V241) -> fun (V242) -> begin (V243 = (('un--findLinear'(V6, V5, 1, V3, V7, V240))(V242))), case V243 of {'Idris.Prelude.Types.Left', E45} -> (fun (V244) -> {'Idris.Prelude.Types.Left', V244} end(E45)); {'Idris.Prelude.Types.Right', E46} -> (fun (V245) -> begin (V246 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V241))(V242))), case V246 of {'Idris.Prelude.Types.Left', E47} -> (fun (V247) -> {'Idris.Prelude.Types.Left', V247} end(E47)); {'Idris.Prelude.Types.Right', E48} -> (fun (V248) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V245, V248))} end(E48)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E46)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E43, E44)); [] -> fun (V249) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E41, E42)); _ -> case V8 of {'Idris.Core.Value.NBind', E6, E7, E8, E9} -> (fun (V250, V251, V252, V253) -> case V252 of {'Idris.Core.TT.Pi', E16, E17, E18, E19} -> (fun (V254, V255, V256, V257) -> case V9 of [E26 | E27] -> (fun (V258, V259) -> case V258 of {'Idris.Core.TT.Local', E36, E37, E38} -> (fun (V260, V261, V262) -> fun (V263) -> begin (V292 = begin (V291 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V264) -> fun (V265) -> fun (V266) -> fun (V267) -> fun (V268) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V266, V267, V268)) end end end end end, fun (V269) -> fun (V270) -> fun (V271) -> V270 end end end, fun (V272) -> fun (V273) -> fun (V274) -> fun (V275) -> fun (V276) -> begin (V277 = (V274(V276))), begin (V278 = (V275(V276))), (V277(V278)) end end end end end end end}, fun (V279) -> fun (V280) -> fun (V281) -> fun (V282) -> fun (V283) -> begin (V284 = (V281(V283))), ((V282(V284))(V283)) end end end end end end, fun (V285) -> fun (V286) -> fun (V287) -> begin (V288 = (V286(V287))), (V288(V287)) end end end end}, fun (V289) -> fun (V290) -> V290 end end}, V5))(V263))), {'Idris.Prelude.Types.Right', V291} end), case V292 of {'Idris.Prelude.Types.Left', E39} -> (fun (V293) -> {'Idris.Prelude.Types.Left', V293} end(E39)); {'Idris.Prelude.Types.Right', E40} -> (fun (V294) -> begin (V295 = ('Idris.Idris2.Core.TT':'un--nameAt'('erased', V6, V262, 'erased'))), (('case--findLinear,findLinArg-8236'(V0, V1, V2, V3, V4, V5, V6, V261, V250, V254, V256, V257, V255, V253, V251, V262, 'erased', 'erased', V260, V259, V7, V294, V295, ('Idris.Idris2.Prelude.Types':'dn--un--<_Ord__Nat'(V262, V3))))(V263)) end end(E40)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E36, E37, E38)); _ -> fun (V296) -> begin (V325 = begin (V324 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V297) -> fun (V298) -> fun (V299) -> fun (V300) -> fun (V301) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V299, V300, V301)) end end end end end, fun (V302) -> fun (V303) -> fun (V304) -> V303 end end end, fun (V305) -> fun (V306) -> fun (V307) -> fun (V308) -> fun (V309) -> begin (V310 = (V307(V309))), begin (V311 = (V308(V309))), (V310(V311)) end end end end end end end}, fun (V312) -> fun (V313) -> fun (V314) -> fun (V315) -> fun (V316) -> begin (V317 = (V314(V316))), ((V315(V317))(V316)) end end end end end end, fun (V318) -> fun (V319) -> fun (V320) -> begin (V321 = (V319(V320))), (V321(V320)) end end end end}, fun (V322) -> fun (V323) -> V323 end end}, V5))(V296))), {'Idris.Prelude.Types.Right', V324} end), case V325 of {'Idris.Prelude.Types.Left', E28} -> (fun (V326) -> {'Idris.Prelude.Types.Left', V326} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V327) -> begin (V328 = (('un--findLinear'(V6, V5, 1, V3, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V255, V7)), V258))(V296))), case V328 of {'Idris.Prelude.Types.Left', E30} -> (fun (V329) -> {'Idris.Prelude.Types.Left', V329} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V330) -> begin (V331 = (((V253(V327))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), {'Idris.Core.Env.Nil'}, {'Idris.Core.TT.Ref', V250, {'Idris.Core.TT.Bound'}, V251}))))(V296))), case V331 of {'Idris.Prelude.Types.Left', E32} -> (fun (V332) -> {'Idris.Prelude.Types.Left', V332} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V333) -> begin (V334 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V333, V259))(V296))), case V334 of {'Idris.Prelude.Types.Left', E34} -> (fun (V335) -> {'Idris.Prelude.Types.Left', V335} end(E34)); {'Idris.Prelude.Types.Right', E35} -> (fun (V336) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V330, V336))} end(E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E26, E27)); _ -> case V9 of [E20 | E21] -> (fun (V337, V338) -> fun (V339) -> begin (V340 = (('un--findLinear'(V6, V5, 1, V3, V7, V337))(V339))), case V340 of {'Idris.Prelude.Types.Left', E22} -> (fun (V341) -> {'Idris.Prelude.Types.Left', V341} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V342) -> begin (V343 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V338))(V339))), case V343 of {'Idris.Prelude.Types.Left', E24} -> (fun (V344) -> {'Idris.Prelude.Types.Left', V344} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V345) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V342, V345))} end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E20, E21)); [] -> fun (V346) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E16, E17, E18, E19)); _ -> case V9 of [E10 | E11] -> (fun (V347, V348) -> fun (V349) -> begin (V350 = (('un--findLinear'(V6, V5, 1, V3, V7, V347))(V349))), case V350 of {'Idris.Prelude.Types.Left', E12} -> (fun (V351) -> {'Idris.Prelude.Types.Left', V351} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V352) -> begin (V353 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V348))(V349))), case V353 of {'Idris.Prelude.Types.Left', E14} -> (fun (V354) -> {'Idris.Prelude.Types.Left', V354} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V355) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V352, V355))} end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E10, E11)); [] -> fun (V356) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6, E7, E8, E9)); _ -> case V9 of [E0 | E1] -> (fun (V357, V358) -> fun (V359) -> begin (V360 = (('un--findLinear'(V6, V5, 1, V3, V7, V357))(V359))), case V360 of {'Idris.Prelude.Types.Left', E2} -> (fun (V361) -> {'Idris.Prelude.Types.Left', V361} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V362) -> begin (V363 = (('nested--15749-8129--in--un--findLinArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V358))(V359))), case V363 of {'Idris.Prelude.Types.Left', E4} -> (fun (V364) -> {'Idris.Prelude.Types.Left', V364} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V365) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V362, V365))} end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); [] -> fun (V366) -> {'Idris.Prelude.Types.Right', []} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end. 'nested--21936-13386--in--un--dropErased'(V0, V1, V2, V3, V4, V5) -> case V4 of [] -> fun (V6) -> {'Idris.Prelude.Types.Right', V5} end; [E0 | E1] -> (fun (V7, V8) -> fun (V9) -> begin (V38 = begin (V37 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V10) -> fun (V11) -> fun (V12) -> fun (V13) -> fun (V14) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V12, V13, V14)) end end end end end, fun (V15) -> fun (V16) -> fun (V17) -> V16 end end end, fun (V18) -> fun (V19) -> fun (V20) -> fun (V21) -> fun (V22) -> begin (V23 = (V20(V22))), begin (V24 = (V21(V22))), (V23(V24)) end end end end end end end}, fun (V25) -> fun (V26) -> fun (V27) -> fun (V28) -> fun (V29) -> begin (V30 = (V27(V29))), ((V28(V30))(V29)) end end end end end end, fun (V31) -> fun (V32) -> fun (V33) -> begin (V34 = (V32(V33))), (V34(V33)) end end end end}, fun (V35) -> fun (V36) -> V36 end end}, V3))(V9))), {'Idris.Prelude.Types.Right', V37} end), case V38 of {'Idris.Prelude.Types.Left', E2} -> (fun (V39) -> {'Idris.Prelude.Types.Left', V39} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V40) -> begin (V67 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V7, case V40 of {'Idris.Core.Context.MkDefs', E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29} -> (fun (V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66) -> V41 end(E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V9))), case V67 of {'Idris.Prelude.Types.Left', E30} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V69) -> case V69 of {'Idris.Prelude.Types.Just', E32} -> (fun (V70) -> begin (V71 = {'Idris.Prelude.Types.Just', V70}), (('case--case block in calcRefs,dropErased-13440'(V0, V1, V2, V3, V7, V8, V5, V40, V70, V71, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(case V70 of {'Idris.Core.Context.MkGlobalDef', E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53} -> (fun (V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90, V91, V92) -> V79 end(E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V93) -> fun (V94) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V93, V94)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V95) -> fun (V96) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V95, V96)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}))))))(V9)) end end(E32)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> (('nested--21936-13386--in--un--dropErased'(V0, V1, V2, V3, V8, V5))(V9)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--16460-8759--in--un--combineAll'(V0, V1, V2, V3, V4, V5) -> case V5 of [] -> fun (V6) -> {'Idris.Prelude.Types.Right', V4} end; [E0 | E1] -> (fun (V7, V8) -> fun (V9) -> begin (V10 = (('nested--16460-8758--in--un--combine'(V0, V1, V2, V3, V4, V7))(V9))), case V10 of {'Idris.Prelude.Types.Left', E2} -> (fun (V11) -> {'Idris.Prelude.Types.Left', V11} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V12) -> (('nested--16460-8759--in--un--combineAll'(V0, V1, V2, V3, V12, V8))(V9)) end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--16460-8758--in--un--combine'(V0, V1, V2, V3, V4, V5) -> ('case--combineLinear,combine-8856'(V0, V1, V2, V3, V5, V4, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V4, V5)), ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--top_Top__ZeroOneOmega'()))), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V6) -> fun (V7) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V6, V7)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V8) -> fun (V9) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V8, V9)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V10) -> fun (V11) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V10, V11)) end end, fun (V12) -> fun (V13) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V12, V13)) end end}}, ('Idris.Idris2.Algebra.Preorder':'un--glb'('erased', {'Idris.Algebra.Preorder.dn--un--__mkPreorder', fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--<=_Preorder__ZeroOneOmega'(V14, V15)) end end, fun (V16) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderRefl_Preorder__ZeroOneOmega'(V16)) end, fun (V17) -> fun (V18) -> fun (V19) -> fun (V20) -> fun (V21) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderTrans_Preorder__ZeroOneOmega'(V17, V18, V19, V20, V21)) end end end end end}, V4, V5)))))), fun () -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(('Idris.Idris2.Algebra.Preorder':'un--glb'('erased', {'Idris.Algebra.Preorder.dn--un--__mkPreorder', fun (V22) -> fun (V23) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--<=_Preorder__ZeroOneOmega'(V22, V23)) end end, fun (V24) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderRefl_Preorder__ZeroOneOmega'(V24)) end, fun (V25) -> fun (V26) -> fun (V27) -> fun (V28) -> fun (V29) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderTrans_Preorder__ZeroOneOmega'(V25, V26, V27, V28, V29)) end end end end end}, V4, V5)), ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--top_Top__ZeroOneOmega'()))) end)) end)))). 'nested--23575-14902--in--un--closeEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Core.Value.NBind', E0, E1, E2, E3} -> (fun (V15, V16, V17, V18) -> case V17 of {'Idris.Core.TT.PVar', E4, E5, E6, E7} -> (fun (V19, V20, V21, V22) -> fun (V23) -> begin (V24 = (((V18(V13))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), {'Idris.Core.Env.Nil'}, {'Idris.Core.TT.Ref', V3, {'Idris.Core.TT.Bound'}, V16}))))(V23))), case V24 of {'Idris.Prelude.Types.Left', E8} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V26) -> (('nested--23575-14902--in--un--closeEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V26))(V23)) end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E4, E5, E6, E7)); _ -> fun (V27) -> ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V9, [], V13, {'Idris.Core.Env.Nil'}, V14, V27)) end end end(E0, E1, E2, E3)); _ -> fun (V28) -> ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V9, [], V13, {'Idris.Core.Env.Nil'}, V14, V28)) end end. 'nested--23555-14800--in--un--checkImpossible'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> begin (V14 = ('Idris.Idris2.TTImp.Unelab':'un--unelabNoPatvars'([], V9, {'Idris.Core.Env.Nil'}, V12, V13))), case V14 of {'Idris.Prelude.Types.Left', E0} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V16) -> ('Idris.Idris2.Core.UnifyState':'un--handleUnify'('erased', V9, V7, fun (V17) -> begin (V46 = begin (V45 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V18) -> fun (V19) -> fun (V20) -> fun (V21) -> fun (V22) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V20, V21, V22)) end end end end end, fun (V23) -> fun (V24) -> fun (V25) -> V24 end end end, fun (V26) -> fun (V27) -> fun (V28) -> fun (V29) -> fun (V30) -> begin (V31 = (V28(V30))), begin (V32 = (V29(V30))), (V31(V32)) end end end end end end end}, fun (V33) -> fun (V34) -> fun (V35) -> fun (V36) -> fun (V37) -> begin (V38 = (V35(V37))), ((V36(V38))(V37)) end end end end end end, fun (V39) -> fun (V40) -> fun (V41) -> begin (V42 = (V40(V41))), (V42(V41)) end end end end}, fun (V43) -> fun (V44) -> V44 end end}, V9))(V17))), {'Idris.Prelude.Types.Right', V45} end), case V46 of {'Idris.Prelude.Types.Left', E2} -> (fun (V47) -> {'Idris.Prelude.Types.Left', V47} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V48) -> begin (V49 = (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def.impossible"/utf8>>, (1 + (1 + (1 + 0))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Checking for impossibility: "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V16)))) end))(V17))), case V49 of {'Idris.Prelude.Types.Left', E4} -> (fun (V50) -> {'Idris.Prelude.Types.Left', V50} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V51) -> begin (V52 = ('Idris.Idris2.Core.Context':'un--isUnboundImplicits'(V9, V17))), case V52 of {'Idris.Prelude.Types.Left', E6} -> (fun (V53) -> {'Idris.Prelude.Types.Left', V53} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V54) -> begin (V55 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V9, 0, V17))), case V55 of {'Idris.Prelude.Types.Left', E8} -> (fun (V56) -> {'Idris.Prelude.Types.Left', V56} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V57) -> begin (V58 = ('Idris.Idris2.TTImp.BindImplicits':'un--bindNames'(V9, 1, V16, V17))), case V58 of {'Idris.Prelude.Types.Left', E10} -> (fun (V59) -> {'Idris.Prelude.Types.Left', V59} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V60) -> case V60 of {'Idris.Builtin.MkPair', E12, E13} -> (fun (V61, V62) -> begin (V63 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V9, V54, V17))), case V63 of {'Idris.Prelude.Types.Left', E14} -> (fun (V64) -> {'Idris.Prelude.Types.Left', V64} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V65) -> begin (V66 = (('Idris.Idris2.TTImp.Elab':'un--elabTerm'([], V9, V8, V7, V10, {'Idris.TTImp.Elab.Check.InLHS', V11}, [], [], {'Idris.Core.Env.Nil'}, {'Idris.TTImp.TTImp.IBindHere', V3, {'Idris.TTImp.TTImp.PATTERN'}, V62}, {'Idris.Prelude.Types.Nothing'}))(V17))), case V66 of {'Idris.Prelude.Types.Left', E16} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V68) -> case V68 of {'Idris.Builtin.MkPair', E18, E19} -> (fun (V69, V70) -> begin (V99 = begin (V98 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V71) -> fun (V72) -> fun (V73) -> fun (V74) -> fun (V75) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V73, V74, V75)) end end end end end, fun (V76) -> fun (V77) -> fun (V78) -> V77 end end end, fun (V79) -> fun (V80) -> fun (V81) -> fun (V82) -> fun (V83) -> begin (V84 = (V81(V83))), begin (V85 = (V82(V83))), (V84(V85)) end end end end end end end}, fun (V86) -> fun (V87) -> fun (V88) -> fun (V89) -> fun (V90) -> begin (V91 = (V88(V90))), ((V89(V91))(V90)) end end end end end end, fun (V92) -> fun (V93) -> fun (V94) -> begin (V95 = (V93(V94))), (V95(V94)) end end end end}, fun (V96) -> fun (V97) -> V97 end end}, V9))(V17))), {'Idris.Prelude.Types.Right', V98} end), case V99 of {'Idris.Prelude.Types.Left', E20} -> (fun (V100) -> {'Idris.Prelude.Types.Left', V100} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V101) -> begin (V102 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V9, [], V101, {'Idris.Core.Env.Nil'}, V69, V17))), case V102 of {'Idris.Prelude.Types.Left', E22} -> (fun (V103) -> {'Idris.Prelude.Types.Left', V103} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V104) -> begin (V105 = (('un--hasEmptyPat'([], V9, V101, {'Idris.Core.Env.Nil'}, V104))(V17))), case V105 of {'Idris.Prelude.Types.Left', E24} -> (fun (V106) -> {'Idris.Prelude.Types.Left', V106} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V107) -> case V107 of 0 -> begin (V136 = begin (V135 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V108) -> fun (V109) -> fun (V110) -> fun (V111) -> fun (V112) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V110, V111, V112)) end end end end end, fun (V113) -> fun (V114) -> fun (V115) -> V114 end end end, fun (V116) -> fun (V117) -> fun (V118) -> fun (V119) -> fun (V120) -> begin (V121 = (V118(V120))), begin (V122 = (V119(V120))), (V121(V122)) end end end end end end end}, fun (V123) -> fun (V124) -> fun (V125) -> fun (V126) -> fun (V127) -> begin (V128 = (V125(V127))), ((V126(V128))(V127)) end end end end end end, fun (V129) -> fun (V130) -> fun (V131) -> begin (V132 = (V130(V131))), (V132(V131)) end end end end}, fun (V133) -> fun (V134) -> V134 end end}, V9, V48))(V17))), {'Idris.Prelude.Types.Right', V135} end), case V136 of {'Idris.Prelude.Types.Left', E26} -> (fun (V137) -> {'Idris.Prelude.Types.Left', V137} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V138) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> begin (V139 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V48, V17))), case V139 of {'Idris.Prelude.Types.Left', E28} -> (fun (V140) -> {'Idris.Prelude.Types.Left', V140} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V141) -> begin (V145 = begin (V142 = (('Idris.Idris2.Core.Normalise':'un--nf'(V9, [], V141, {'Idris.Core.Env.Nil'}, V104))(V17))), case V142 of {'Idris.Prelude.Types.Left', E30} -> (fun (V143) -> {'Idris.Prelude.Types.Left', V143} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V144) -> (('nested--23575-14902--in--un--closeEnv'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V12, V11, V10, V141, V144))(V17)) end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V145 of {'Idris.Prelude.Types.Left', E32} -> (fun (V146) -> {'Idris.Prelude.Types.Left', V146} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V147) -> begin (V176 = begin (V175 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V148) -> fun (V149) -> fun (V150) -> fun (V151) -> fun (V152) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V150, V151, V152)) end end end end end, fun (V153) -> fun (V154) -> fun (V155) -> V154 end end end, fun (V156) -> fun (V157) -> fun (V158) -> fun (V159) -> fun (V160) -> begin (V161 = (V158(V160))), begin (V162 = (V159(V160))), (V161(V162)) end end end end end end end}, fun (V163) -> fun (V164) -> fun (V165) -> fun (V166) -> fun (V167) -> begin (V168 = (V165(V167))), ((V166(V168))(V167)) end end end end end end, fun (V169) -> fun (V170) -> fun (V171) -> begin (V172 = (V170(V171))), (V172(V171)) end end end end}, fun (V173) -> fun (V174) -> V174 end end}, V9, V48))(V17))), {'Idris.Prelude.Types.Right', V175} end), case V176 of {'Idris.Prelude.Types.Left', E34} -> (fun (V177) -> {'Idris.Prelude.Types.Left', V177} end(E34)); {'Idris.Prelude.Types.Right', E35} -> (fun (V178) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V147}} end(E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E18, E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E12, E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, fun (V179) -> fun (V180) -> begin (V209 = begin (V208 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V181) -> fun (V182) -> fun (V183) -> fun (V184) -> fun (V185) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V183, V184, V185)) end end end end end, fun (V186) -> fun (V187) -> fun (V188) -> V187 end end end, fun (V189) -> fun (V190) -> fun (V191) -> fun (V192) -> fun (V193) -> begin (V194 = (V191(V193))), begin (V195 = (V192(V193))), (V194(V195)) end end end end end end end}, fun (V196) -> fun (V197) -> fun (V198) -> fun (V199) -> fun (V200) -> begin (V201 = (V198(V200))), ((V199(V201))(V200)) end end end end end end, fun (V202) -> fun (V203) -> fun (V204) -> begin (V205 = (V203(V204))), (V205(V204)) end end end end}, fun (V206) -> fun (V207) -> V207 end end}, V9))(V180))), {'Idris.Prelude.Types.Right', V208} end), case V209 of {'Idris.Prelude.Types.Left', E36} -> (fun (V210) -> {'Idris.Prelude.Types.Left', V210} end(E36)); {'Idris.Prelude.Types.Right', E37} -> (fun (V211) -> begin (V212 = (('un--recoverableErr'(V9, V211, V179))(V180))), case V212 of {'Idris.Prelude.Types.Left', E38} -> (fun (V213) -> {'Idris.Prelude.Types.Left', V213} end(E38)); {'Idris.Prelude.Types.Right', E39} -> (fun (V214) -> (('case--processDef,checkImpossible-15332'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V12, V11, V10, V16, V179, V211, V214, ('Idris.Idris2.Prelude.Basics':'un--not'(V214))))(V180)) end(E39)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end, V13)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'nested--23555-14802--in--un--checkCoverage'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> begin (V16 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V15) -> ('nested--23555-14801--in--un--getClause'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V15)) end, V13))(V14))), case V16 of {'Idris.Prelude.Types.Left', E0} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V18) -> begin (V20 = ('Idris.Idris2.Data.List':'un--mapMaybe'('erased', 'erased', fun (V19) -> V19 end, V18))), begin (V21 = (('Idris.Idris2.Core.CaseBuilder':'un--getPMDef'(V9, V3, {'Idris.Core.CaseBuilder.CompileTime', V12}, {'Idris.Core.Name.Resolved', V10}, V11, V20))(V14))), case V21 of {'Idris.Prelude.Types.Left', E2} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V23) -> case V23 of {'Idris.Builtin.DPair.MkDPair', E4, E5} -> (fun (V24, V25) -> case V25 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V26, V27) -> begin (V35 = begin (V32 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V28) -> fun (V29) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseTree $vars)'('erased', V28, V29)) end end, fun (V30) -> fun (V31) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseTree $vars)'('erased', V30, V31)) end end}, V26, V14))), case V32 of {'Idris.Prelude.Types.Left', E8} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V34) -> (('Idris.Idris2.Core.Context.Log':'un--log'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + 0))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Working from "/utf8>>, ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseTree $vars)'(V24, V34)))) end))(V14)) end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V35 of {'Idris.Prelude.Types.Left', E10} -> (fun (V36) -> {'Idris.Prelude.Types.Left', V36} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V37) -> begin (V50 = begin (V38 = {'Idris.Builtin.DPair.MkDPair', V24, {'Idris.Builtin.MkPair', V26, V27}}), (('case--case block in processDef,checkCoverage-15687'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V13, V12, V11, V10, V18, V20, V27, V24, V26, V38, V37, (('Idris.Idris2.Prelude.Interfaces':'un--any'('erased', 'erased', {'Idris.Prelude.Interfaces.dn--un--__mkFoldable', fun (V39) -> fun (V40) -> fun (V41) -> fun (V42) -> fun (V43) -> ('Idris.Idris2.Prelude.Types':'dn--un--foldr_Foldable__List'('erased', 'erased', V41, V42, V43)) end end end end end, fun (V44) -> fun (V45) -> fun (V46) -> fun (V47) -> fun (V48) -> ('Idris.Idris2.Prelude.Types':'dn--un--foldl_Foldable__List'('erased', 'erased', V46, V47, V48)) end end end end end}, fun (V49) -> ('nested--23555-14799--in--un--catchAll'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V49)) end))(V20))))(V14)) end), case V50 of {'Idris.Prelude.Types.Left', E12} -> (fun (V51) -> {'Idris.Prelude.Types.Left', V51} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V52) -> begin (V67 = ('Idris.Idris2.Core.Context.Log':'un--logC'(V9, <<"declare.def"/utf8>>, (1 + (1 + (1 + 0))), fun (V53) -> begin (V60 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V54) -> fun (V55) -> ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V56) -> fun (V57) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V56, V57)) end end, fun (V58) -> fun (V59) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V58, V59)) end end}, V54, V55)) end end, V52))(V53))), case V60 of {'Idris.Prelude.Types.Left', E14} -> (fun (V61) -> {'Idris.Prelude.Types.Left', V61} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V62) -> begin (V63 = (('Idris.Idris2.Core.Context':'un--getFullName'(V9, {'Idris.Core.Name.Resolved', V10}))(V53))), case V63 of {'Idris.Prelude.Types.Left', E16} -> (fun (V64) -> {'Idris.Prelude.Types.Left', V64} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V65) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Initially missing in "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V65)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<":\x{a}"/utf8>>, ('Idris.Idris2.Core.Name.Namespace':'un--showSep'(<<"\x{a}"/utf8>>, ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V66) -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'([], V66)) end, V62))))))))))} end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, V14))), case V67 of {'Idris.Prelude.Types.Left', E18} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V69) -> begin (V72 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V70) -> fun (V71) -> ('nested--23555-14800--in--un--checkImpossible'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V12, V70, V71)) end end, V52))(V14))), case V72 of {'Idris.Prelude.Types.Left', E20} -> (fun (V73) -> {'Idris.Prelude.Types.Left', V73} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V74) -> begin (V78 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V75) -> fun (V76) -> ('Idris.Idris2.Core.Coverage':'un--checkMatched'(V9, V20, V75, V76)) end end, ('Idris.Idris2.Data.List':'un--mapMaybe'('erased', 'erased', fun (V77) -> V77 end, V74))))(V14))), case V78 of {'Idris.Prelude.Types.Left', E22} -> (fun (V79) -> {'Idris.Prelude.Types.Left', V79} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V80) -> begin (V82 = ('Idris.Idris2.Data.List':'un--mapMaybe'('erased', 'erased', fun (V81) -> V81 end, V80))), begin (V83 = {'Idris.Builtin.DPair.MkDPair', V24, {'Idris.Builtin.MkPair', V26, V27}}), (('case--case block in processDef,checkCoverage-15802'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V13, V12, V11, V10, V18, V20, V27, V24, V26, V83, V37, V52, V69, V74, V80, V82, ('Idris.Idris2.Data.List':'un--isNil'('erased', V82))))(V14)) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E4, E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'nested--23555-14799--in--un--catchAll'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Core.Context.MkClause', E0, E1, E2, E3} -> (fun (V11, V12, V13, V14) -> (('Idris.Idris2.Prelude.Interfaces':'un--all'('erased', 'erased', {'Idris.Prelude.Interfaces.dn--un--__mkFoldable', fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> ('Idris.Idris2.Prelude.Types':'dn--un--foldr_Foldable__List'('erased', 'erased', V17, V18, V19)) end end end end end, fun (V20) -> fun (V21) -> fun (V22) -> fun (V23) -> fun (V24) -> ('Idris.Idris2.Prelude.Types':'dn--un--foldl_Foldable__List'('erased', 'erased', V22, V23, V24)) end end end end end}, fun (V25) -> ('nested--23555-14798--in--un--simplePat'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V25)) end))(('Idris.Idris2.Core.TT':'un--getArgs'('erased', V13)))) end(E0, E1, E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--22551-13908--in--un--addErrorCase'(V0, V1, V2, V3, V4, V5) -> case V5 of [] -> []; [E0 | E1] -> (fun (V6, V7) -> case V6 of {'Idris.Core.Context.MkClause', E2, E3, E4, E5} -> (fun (V8, V9, V10, V11) -> case V7 of [] -> [{'Idris.Core.Context.MkClause', V8, V9, V10, V11} | [('nested--22551-13907--in--un--makeErrorClause'(V0, V1, V2, V3, V4, V8, V9, V10)) | []]]; _ -> [V6 | ('nested--22551-13908--in--un--addErrorCase'(V0, V1, V2, V3, V4, V7))] end end(E2, E3, E4, E5)); _ -> [V6 | ('nested--22551-13908--in--un--addErrorCase'(V0, V1, V2, V3, V4, V7))] end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--15749-8128--in--un--accessible'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V6 of {'Idris.Core.TT.Func'} -> (fun () -> case V4 of 0 -> V7; 1 -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V8) -> fun (V9) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V8, V9)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V10) -> fun (V11) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V10, V11)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end()); _ -> V7 end. 'un--warnUnreachable'(V0, V1) -> case V1 of {'Idris.Core.Context.MkClause', E0, E1, E2, E3} -> (fun (V2, V3, V4, V5) -> fun (V6) -> ('Idris.Idris2.Core.Context':'un--recordWarning'(V0, {'Idris.Core.Core.UnreachableClause', V2, ('Idris.Idris2.Core.TT':'un--getLoc'('erased', V4)), V3, V4}, V6)) end end(E0, E1, E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--toPats'(V0) -> case V0 of {'Idris.Core.Context.MkClause', E0, E1, E2, E3} -> (fun (V1, V2, V3, V4) -> {'Idris.Builtin.DPair.MkDPair', V1, {'Idris.Builtin.MkPair', V2, {'Idris.Builtin.MkPair', V3, V4}}} end(E0, E1, E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--setLinear'(V0, V1, V2) -> case V2 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V3, V4, V5, V6) -> case V5 of {'Idris.Core.TT.PVar', E4, E5, E6, E7} -> (fun (V7, V8, V9, V10) -> begin (V11 = {'Idris.Core.TT.PVar', V7, V8, V9, V10}), ('case--setLinear-8623'('erased', V7, V8, V9, V10, V4, V6, V11, V3, V1, ('Idris.Idris2.Data.List':'un--lookup'('erased', 'erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V12) -> fun (V13) -> ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V12, V13)) end end, fun (V14) -> fun (V15) -> ('Idris.Idris2.Core.Name':'dn--un--/=_Eq__Name'(V14, V15)) end end}, V4, V1)))) end end(E4, E5, E6, E7)); {'Idris.Core.TT.PVTy', E8, E9, E10} -> (fun (V16, V17, V18) -> begin (V19 = {'Idris.Core.TT.PVTy', V16, V17, V18}), ('case--setLinear-8693'('erased', V16, V17, V18, V4, V6, V19, V3, V1, ('Idris.Idris2.Data.List':'un--lookup'('erased', 'erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V20) -> fun (V21) -> ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V20, V21)) end end, fun (V22) -> fun (V23) -> ('Idris.Idris2.Core.Name':'dn--un--/=_Eq__Name'(V22, V23)) end end}, V4, V1)))) end end(E8, E9, E10)); _ -> V2 end end(E0, E1, E2, E3)); _ -> V2 end. 'un--recoverableErr'(V0, V1, V2) -> case V2 of {'Idris.Core.Core.CantConvert', E0, E1, E2, E3, E4} -> (fun (V3, V4, V5, V6, V7) -> fun (V8) -> begin (V9 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V3, V1, V5, V6))(V8))), case V9 of {'Idris.Prelude.Types.Left', E5} -> (fun (V10) -> {'Idris.Prelude.Types.Left', V10} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V11) -> begin (V12 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V3, V1, V5, V7))(V8))), case V12 of {'Idris.Prelude.Types.Left', E7} -> (fun (V13) -> {'Idris.Prelude.Types.Left', V13} end(E7)); {'Idris.Prelude.Types.Right', E8} -> (fun (V14) -> (('un--recoverable'(V0, V3, V1, V11, V14))(V8)) end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3, E4)); {'Idris.Core.Core.CantSolveEq', E9, E10, E11, E12, E13} -> (fun (V15, V16, V17, V18, V19) -> fun (V20) -> begin (V21 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V15, V1, V17, V18))(V20))), case V21 of {'Idris.Prelude.Types.Left', E14} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V23) -> begin (V24 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V15, V1, V17, V19))(V20))), case V24 of {'Idris.Prelude.Types.Left', E16} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V26) -> (('un--recoverable'(V0, V15, V1, V23, V26))(V20)) end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E9, E10, E11, E12, E13)); {'Idris.Core.Core.BadDotPattern', E18, E19, E20, E21, E22, E23} -> (fun (V27, V28, V29, V30, V31, V32) -> case V30 of {'Idris.Core.Core.ErasedArg'} -> (fun () -> fun (V33) -> {'Idris.Prelude.Types.Right', 0} end end()); _ -> fun (V34) -> {'Idris.Prelude.Types.Right', 1} end end end(E18, E19, E20, E21, E22, E23)); {'Idris.Core.Core.CyclicMeta', E24, E25, E26, E27, E28} -> (fun (V35, V36, V37, V38, V39) -> fun (V40) -> {'Idris.Prelude.Types.Right', 0} end end(E24, E25, E26, E27, E28)); {'Idris.Core.Core.AllFailed', E29} -> (fun (V41) -> ('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V42) -> ('un--recoverableErr'(V0, V1, V42)) end, ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V43) -> ('Idris.Idris2.Builtin':'un--snd'('erased', 'erased', V43)) end, V41)))) end(E29)); {'Idris.Core.Core.WhenUnifying', E30, E31, E32, E33, E34, E35} -> (fun (V44, V45, V46, V47, V48, V49) -> ('un--recoverableErr'(V0, V1, V49)) end(E30, E31, E32, E33, E34, E35)); _ -> fun (V50) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--recoverable'(V0, V1, V2, V3, V4) -> case V3 of {'Idris.Core.Value.NTCon', E0, E1, E2, E3, E4} -> (fun (V5, V6, V7, V8, V9) -> case V4 of {'Idris.Core.Value.NTCon', E5, E6, E7, E8, E9} -> (fun (V10, V11, V12, V13, V14) -> ('case--recoverable-7542'(V1, V10, V5, V9, V8, V7, V6, V14, V13, V12, V11, V2, V0, ('Idris.Idris2.Core.Name':'dn--un--/=_Eq__Name'(V6, V11)))) end(E5, E6, E7, E8, E9)); _ -> fun (V15) -> {'Idris.Prelude.Types.Right', 0} end end end(E0, E1, E2, E3, E4)); {'Idris.Core.Value.NDCon', E10, E11, E12, E13, E14} -> (fun (V16, V17, V18, V19, V20) -> case V4 of {'Idris.Core.Value.NDCon', E15, E16, E17, E18, E19} -> (fun (V21, V22, V23, V24, V25) -> ('case--recoverable-7635'(V1, V21, V22, V24, V16, V17, V19, V20, V18, V25, V23, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--/=_Eq__Int'(V18, V23)))) end(E15, E16, E17, E18, E19)); _ -> fun (V26) -> {'Idris.Prelude.Types.Right', 0} end end end(E10, E11, E12, E13, E14)); {'Idris.Core.Value.NApp', E20, E21, E22} -> (fun (V27, V28, V29) -> case V28 of {'Idris.Core.Value.NRef', E23, E24} -> (fun (V30, V31) -> case V4 of {'Idris.Core.Value.NApp', E25, E26, E27} -> (fun (V32, V33, V34) -> case V33 of {'Idris.Core.Value.NRef', E28, E29} -> (fun (V35, V36) -> fun (V37) -> {'Idris.Prelude.Types.Right', 0} end end(E28, E29)); _ -> fun (V38) -> {'Idris.Prelude.Types.Right', 1} end end end(E25, E26, E27)); _ -> fun (V39) -> {'Idris.Prelude.Types.Right', 1} end end end(E23, E24)); _ -> fun (V40) -> {'Idris.Prelude.Types.Right', 1} end end end(E20, E21, E22)); {'Idris.Core.Value.NPrimVal', E30, E31} -> (fun (V41, V42) -> case V4 of {'Idris.Core.Value.NPrimVal', E32, E33} -> (fun (V43, V44) -> fun (V45) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Constant'(V42, V44))} end end(E32, E33)); {'Idris.Core.Value.NDCon', E34, E35, E36, E37, E38} -> (fun (V46, V47, V48, V49, V50) -> fun (V51) -> {'Idris.Prelude.Types.Right', 1} end end(E34, E35, E36, E37, E38)); _ -> fun (V52) -> {'Idris.Prelude.Types.Right', 1} end end end(E30, E31)); _ -> fun (V53) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--processDef'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> begin (V11 = (('Idris.Idris2.Core.Context':'un--inCurrentNS'(V1, V8))(V10))), case V11 of {'Idris.Prelude.Types.Left', E0} -> (fun (V12) -> {'Idris.Prelude.Types.Left', V12} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V13) -> begin (V42 = begin (V41 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V14) -> fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V16, V17, V18)) end end end end end, fun (V19) -> fun (V20) -> fun (V21) -> V20 end end end, fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> fun (V26) -> begin (V27 = (V24(V26))), begin (V28 = (V25(V26))), (V27(V28)) end end end end end end end}, fun (V29) -> fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> begin (V34 = (V31(V33))), ((V32(V34))(V33)) end end end end end end, fun (V35) -> fun (V36) -> fun (V37) -> begin (V38 = (V36(V37))), (V38(V37)) end end end end}, fun (V39) -> fun (V40) -> V40 end end}, V1))(V10))), {'Idris.Prelude.Types.Right', V41} end), case V42 of {'Idris.Prelude.Types.Left', E2} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V44) -> begin (V71 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V13, case V44 of {'Idris.Core.Context.MkDefs', E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29} -> (fun (V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70) -> V45 end(E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V10))), case V71 of {'Idris.Prelude.Types.Left', E30} -> (fun (V72) -> {'Idris.Prelude.Types.Left', V72} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V73) -> case V73 of {'Idris.Prelude.Types.Just', E32} -> (fun (V74) -> begin (V75 = {'Idris.Prelude.Types.Just', V74}), (('case--case block in processDef-16084'(V0, V9, V8, V7, V6, V5, V4, V3, V2, V1, V13, V44, V74, V75, case V74 of {'Idris.Core.Context.MkGlobalDef', E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53} -> (fun (V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90, V91, V92, V93, V94, V95, V96) -> V93 end(E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V10)) end end(E32)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.NoDeclaration', V7, V13}, V10)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--nameListEq'(V0, V1) -> case V0 of [] -> case V1 of [] -> {'Idris.Prelude.Types.Just', {'Idris.Builtin.Refl'}}; _ -> {'Idris.Prelude.Types.Nothing'} end; [E0 | E1] -> (fun (V2, V3) -> case V1 of [E2 | E3] -> (fun (V4, V5) -> ('with--nameListEq-13343'(V2, V4, ('Idris.Idris2.Core.Name':'un--nameEq'(V2, V4)), V3, V5)) end(E2, E3)); _ -> {'Idris.Prelude.Types.Nothing'} end end(E0, E1)); _ -> {'Idris.Prelude.Types.Nothing'} end. 'un--mkRunTime'(V0, V1, V2, V3, V4, V5) -> begin (V13 = begin (V10 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V0, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V6) -> fun (V7) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(V6, V7)) end end, fun (V8) -> fun (V9) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Name'(V8, V9)) end end}, V4, V5))), case V10 of {'Idris.Prelude.Types.Left', E0} -> (fun (V11) -> {'Idris.Prelude.Types.Left', V11} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V12) -> (('Idris.Idris2.Core.Context.Log':'un--log'(V0, <<"compile.casetree"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Making run time definition for "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V12)))) end))(V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V13 of {'Idris.Prelude.Types.Left', E2} -> (fun (V14) -> {'Idris.Prelude.Types.Left', V14} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V15) -> begin (V44 = begin (V43 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> fun (V20) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V18, V19, V20)) end end end end end, fun (V21) -> fun (V22) -> fun (V23) -> V22 end end end, fun (V24) -> fun (V25) -> fun (V26) -> fun (V27) -> fun (V28) -> begin (V29 = (V26(V28))), begin (V30 = (V27(V28))), (V29(V30)) end end end end end end end}, fun (V31) -> fun (V32) -> fun (V33) -> fun (V34) -> fun (V35) -> begin (V36 = (V33(V35))), ((V34(V36))(V35)) end end end end end end, fun (V37) -> fun (V38) -> fun (V39) -> begin (V40 = (V38(V39))), (V40(V39)) end end end end}, fun (V41) -> fun (V42) -> V42 end end}, V0))(V5))), {'Idris.Prelude.Types.Right', V43} end), case V44 of {'Idris.Prelude.Types.Left', E4} -> (fun (V45) -> {'Idris.Prelude.Types.Left', V45} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V46) -> begin (V73 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V4, case V46 of {'Idris.Core.Context.MkDefs', E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31} -> (fun (V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72) -> V47 end(E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V5))), case V73 of {'Idris.Prelude.Types.Left', E32} -> (fun (V74) -> {'Idris.Prelude.Types.Left', V74} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V75) -> case V75 of {'Idris.Prelude.Types.Just', E34} -> (fun (V76) -> begin (V100 = case case V76 of {'Idris.Core.Context.MkGlobalDef', E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57} -> (fun (V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90, V91, V92, V93, V94, V95, V96, V97) -> V87 end(E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end of {'Idris.Core.TT.MkTotality', E35, E36} -> (fun (V98, V99) -> V99 end(E35, E36)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V101) -> fun (V102) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V101, V102)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V103) -> fun (V104) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V103, V104)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V105) -> fun (V106) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V105, V106)) end end, fun (V107) -> fun (V108) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V107, V108)) end end}}, case V76 of {'Idris.Core.Context.MkGlobalDef', E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99} -> (fun (V109, V110, V111, V112, V113, V114, V115, V116, V117, V118, V119, V120, V121, V122, V123, V124, V125, V126, V127, V128, V129) -> V116 end(E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) of 0 -> ((begin (V130 = {'Idris.Prelude.Types.Just', V76}), ('case--case block in mkRunTime-14167'(V4, V3, V2, V1, V0, V15, V46, V76, V130, V100, case V76 of {'Idris.Core.Context.MkGlobalDef', E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78} -> (fun (V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142, V143, V144, V145, V146, V147, V148, V149, V150, V151) -> V148 end(E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end())(V5)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E34)); _ -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--mismatchNF'(V0, V1, V2, V3, V4) -> case V3 of {'Idris.Core.Value.NTCon', E0, E1, E2, E3, E4} -> (fun (V5, V6, V7, V8, V9) -> case V4 of {'Idris.Core.Value.NTCon', E5, E6, E7, E8, E9} -> (fun (V10, V11, V12, V13, V14) -> ('case--mismatchNF-6938'(V1, V10, V13, V5, V8, V9, V7, V6, V14, V12, V11, V2, V0, ('Idris.Idris2.Core.Name':'dn--un--/=_Eq__Name'(V6, V11)))) end(E5, E6, E7, E8, E9)); _ -> fun (V15) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1, E2, E3, E4)); {'Idris.Core.Value.NDCon', E10, E11, E12, E13, E14} -> (fun (V16, V17, V18, V19, V20) -> case V4 of {'Idris.Core.Value.NDCon', E15, E16, E17, E18, E19} -> (fun (V21, V22, V23, V24, V25) -> ('case--mismatchNF-7025'(V1, V21, V22, V24, V16, V17, V19, V20, V18, V25, V23, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--/=_Eq__Int'(V18, V23)))) end(E15, E16, E17, E18, E19)); _ -> fun (V26) -> {'Idris.Prelude.Types.Right', 1} end end end(E10, E11, E12, E13, E14)); {'Idris.Core.Value.NPrimVal', E20, E21} -> (fun (V27, V28) -> case V4 of {'Idris.Core.Value.NPrimVal', E22, E23} -> (fun (V29, V30) -> fun (V31) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--/=_Eq__Constant'(V28, V30))} end end(E22, E23)); _ -> fun (V32) -> {'Idris.Prelude.Types.Right', 1} end end end(E20, E21)); {'Idris.Core.Value.NDelayed', E24, E25, E26} -> (fun (V33, V34, V35) -> case V4 of {'Idris.Core.Value.NDelayed', E27, E28, E29} -> (fun (V36, V37, V38) -> ('un--mismatchNF'(V0, V1, V2, V35, V38)) end(E27, E28, E29)); _ -> fun (V39) -> {'Idris.Prelude.Types.Right', 1} end end end(E24, E25, E26)); {'Idris.Core.Value.NDelay', E30, E31, E32, E33} -> (fun (V40, V41, V42, V43) -> case V4 of {'Idris.Core.Value.NDelay', E34, E35, E36, E37} -> (fun (V44, V45, V46, V47) -> fun (V48) -> begin (V49 = (('Idris.Idris2.Core.Normalise':'un--evalClosure'(V0, V1, V2, V43))(V48))), case V49 of {'Idris.Prelude.Types.Left', E38} -> (fun (V50) -> {'Idris.Prelude.Types.Left', V50} end(E38)); {'Idris.Prelude.Types.Right', E39} -> (fun (V51) -> begin (V52 = (('Idris.Idris2.Core.Normalise':'un--evalClosure'(V0, V1, V2, V47))(V48))), case V52 of {'Idris.Prelude.Types.Left', E40} -> (fun (V53) -> {'Idris.Prelude.Types.Left', V53} end(E40)); {'Idris.Prelude.Types.Right', E41} -> (fun (V54) -> (('un--mismatchNF'(V0, V1, V2, V51, V54))(V48)) end(E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E39)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E34, E35, E36, E37)); _ -> fun (V55) -> {'Idris.Prelude.Types.Right', 1} end end end(E30, E31, E32, E33)); _ -> fun (V56) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--mismatch'(V0, V1, V2, V3) -> case V3 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V4, V5) -> fun (V6) -> begin (V7 = (('Idris.Idris2.Core.Normalise':'un--evalClosure'(V0, V1, V2, V4))(V6))), case V7 of {'Idris.Prelude.Types.Left', E2} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V9) -> begin (V10 = (('Idris.Idris2.Core.Normalise':'un--evalClosure'(V0, V1, V2, V5))(V6))), case V10 of {'Idris.Prelude.Types.Left', E4} -> (fun (V11) -> {'Idris.Prelude.Types.Left', V11} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V12) -> (('un--mismatchNF'(V0, V1, V2, V9, V12))(V6)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--impossibleOK'(V0, V1, V2, V3, V4) -> case V3 of {'Idris.Core.Value.NTCon', E0, E1, E2, E3, E4} -> (fun (V5, V6, V7, V8, V9) -> case V4 of {'Idris.Core.Value.NTCon', E5, E6, E7, E8, E9} -> (fun (V10, V11, V12, V13, V14) -> ('case--impossibleOK-7208'(V1, V10, V5, V9, V8, V7, V6, V14, V13, V12, V11, V2, V0, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V6, V11)))) end(E5, E6, E7, E8, E9)); _ -> fun (V15) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1, E2, E3, E4)); {'Idris.Core.Value.NDCon', E10, E11, E12, E13, E14} -> (fun (V16, V17, V18, V19, V20) -> case V4 of {'Idris.Core.Value.NDCon', E15, E16, E17, E18, E19} -> (fun (V21, V22, V23, V24, V25) -> ('case--impossibleOK-7295'(V1, V21, V22, V24, V16, V17, V19, V20, V18, V25, V23, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--/=_Eq__Int'(V18, V23)))) end(E15, E16, E17, E18, E19)); {'Idris.Core.Value.NPrimVal', E20, E21} -> (fun (V26, V27) -> fun (V28) -> {'Idris.Prelude.Types.Right', 0} end end(E20, E21)); _ -> fun (V29) -> {'Idris.Prelude.Types.Right', 1} end end end(E10, E11, E12, E13, E14)); {'Idris.Core.Value.NPrimVal', E22, E23} -> (fun (V30, V31) -> case V4 of {'Idris.Core.Value.NPrimVal', E24, E25} -> (fun (V32, V33) -> fun (V34) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--/=_Eq__Constant'(V31, V33))} end end(E24, E25)); {'Idris.Core.Value.NDCon', E26, E27, E28, E29, E30} -> (fun (V35, V36, V37, V38, V39) -> fun (V40) -> {'Idris.Prelude.Types.Right', 0} end end(E26, E27, E28, E29, E30)); _ -> fun (V41) -> {'Idris.Prelude.Types.Right', 1} end end end(E22, E23)); _ -> fun (V42) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--impossibleErrOK'(V0, V1, V2) -> case V2 of {'Idris.Core.Core.CantConvert', E0, E1, E2, E3, E4} -> (fun (V3, V4, V5, V6, V7) -> fun (V8) -> begin (V9 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V3, V1, V5, V6))(V8))), case V9 of {'Idris.Prelude.Types.Left', E5} -> (fun (V10) -> {'Idris.Prelude.Types.Left', V10} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V11) -> begin (V12 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V3, V1, V5, V7))(V8))), case V12 of {'Idris.Prelude.Types.Left', E7} -> (fun (V13) -> {'Idris.Prelude.Types.Left', V13} end(E7)); {'Idris.Prelude.Types.Right', E8} -> (fun (V14) -> (('un--impossibleOK'(V0, V3, V1, V11, V14))(V8)) end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3, E4)); {'Idris.Core.Core.CantSolveEq', E9, E10, E11, E12, E13} -> (fun (V15, V16, V17, V18, V19) -> fun (V20) -> begin (V21 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V15, V1, V17, V18))(V20))), case V21 of {'Idris.Prelude.Types.Left', E14} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V23) -> begin (V24 = (('Idris.Idris2.Core.Normalise':'un--nf'(V0, V15, V1, V17, V19))(V20))), case V24 of {'Idris.Prelude.Types.Left', E16} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V26) -> (('un--impossibleOK'(V0, V15, V1, V23, V26))(V20)) end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E9, E10, E11, E12, E13)); {'Idris.Core.Core.BadDotPattern', E18, E19, E20, E21, E22, E23} -> (fun (V27, V28, V29, V30, V31, V32) -> case V30 of {'Idris.Core.Core.ErasedArg'} -> (fun () -> fun (V33) -> {'Idris.Prelude.Types.Right', 0} end end()); _ -> fun (V34) -> {'Idris.Prelude.Types.Right', 1} end end end(E18, E19, E20, E21, E22, E23)); {'Idris.Core.Core.CyclicMeta', E24, E25, E26, E27, E28} -> (fun (V35, V36, V37, V38, V39) -> fun (V40) -> {'Idris.Prelude.Types.Right', 0} end end(E24, E25, E26, E27, E28)); {'Idris.Core.Core.AllFailed', E29} -> (fun (V41) -> ('Idris.Idris2.Core.Core':'un--anyM'('erased', fun (V42) -> ('un--impossibleErrOK'(V0, V1, V42)) end, ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V43) -> ('Idris.Idris2.Builtin':'un--snd'('erased', 'erased', V43)) end, V41)))) end(E29)); {'Idris.Core.Core.WhenUnifying', E30, E31, E32, E33, E34, E35} -> (fun (V44, V45, V46, V47, V48, V49) -> ('un--impossibleErrOK'(V0, V1, V49)) end(E30, E31, E32, E33, E34, E35)); _ -> fun (V50) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--ifThenElse'(V0, V1, V2, V3) -> case V1 of 0 -> (V2()); 1 -> (V3()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--hasEmptyPat'(V0, V1, V2, V3, V4) -> case V4 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V5, V6, V7, V8) -> case V7 of {'Idris.Core.TT.PVar', E4, E5, E6, E7} -> (fun (V9, V10, V11, V12) -> fun (V13) -> begin (V14 = (('Idris.Idris2.Core.Normalise':'un--nf'(V1, V0, V2, V3, V12))(V13))), case V14 of {'Idris.Prelude.Types.Left', E8} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V16) -> begin (V17 = (('Idris.Idris2.Core.Coverage':'un--isEmpty'(V0, V1, V2, V3, V16))(V13))), case V17 of {'Idris.Prelude.Types.Left', E10} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V19) -> begin (V20 = (('un--hasEmptyPat'([V6 | V0], V1, V2, {'Idris.Core.Env.::', V7, V3}, V8))(V13))), case V20 of {'Idris.Prelude.Types.Left', E12} -> (fun (V21) -> {'Idris.Prelude.Types.Left', V21} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V22) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--||'(V19, fun () -> V22 end))} end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E4, E5, E6, E7)); _ -> fun (V23) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1, E2, E3)); _ -> fun (V24) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--findLinear'(V0, V1, V2, V3, V4, V5) -> case V5 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V6, V7, V8, V9) -> ('un--findLinear'([V7 | V0], V1, V2, (1 + V3), V4, V9)) end(E0, E1, E2, E3)); {'Idris.Core.TT.As', E4, E5, E6, E7} -> (fun (V10, V11, V12, V13) -> ('un--findLinear'(V0, V1, V2, V3, V4, V13)) end(E4, E5, E6, E7)); _ -> ('case--findLinear-8458'(V0, V5, V4, V3, V2, V1, ('Idris.Idris2.Core.TT':'un--getFnArgs'('erased', V5)))) end. 'un--extendEnv'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V7, V8, V9, V10) -> case V9 of {'Idris.Core.TT.PVar', E4, E5, E6, E7} -> (fun (V11, V12, V13, V14) -> case V6 of {'Idris.Core.TT.Bind', E8, E9, E10, E11} -> (fun (V15, V16, V17, V18) -> case V17 of {'Idris.Core.TT.PVTy', E12, E13, E14} -> (fun (V19, V20, V21) -> ('with--extendEnv-7935'(V8, V16, ('Idris.Idris2.Core.Name':'un--nameEq'(V8, V16)), 'erased', V1, V15, V19, V20, V21, V7, V14, V13, V12, V11, V10, V18, V4, V3, V2)) end(E12, E13, E14)); _ -> fun (V22) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.DPair.MkDPair', V1, {'Idris.Builtin.MkPair', V3, {'Idris.Builtin.MkPair', V2, {'Idris.Builtin.MkPair', V4, {'Idris.Builtin.MkPair', V5, V6}}}}}} end end end(E8, E9, E10, E11)); _ -> fun (V23) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.DPair.MkDPair', V1, {'Idris.Builtin.MkPair', V3, {'Idris.Builtin.MkPair', V2, {'Idris.Builtin.MkPair', V4, {'Idris.Builtin.MkPair', V5, V6}}}}}} end end end(E4, E5, E6, E7)); {'Idris.Core.TT.PLet', E15, E16, E17, E18} -> (fun (V24, V25, V26, V27) -> case V6 of {'Idris.Core.TT.Bind', E19, E20, E21, E22} -> (fun (V28, V29, V30, V31) -> case V30 of {'Idris.Core.TT.PLet', E23, E24, E25, E26} -> (fun (V32, V33, V34, V35) -> ('with--extendEnv-8016'(V8, V29, ('Idris.Idris2.Core.Name':'un--nameEq'(V8, V29)), 'erased', V1, V28, V32, V33, V35, V34, V7, V26, V27, V25, V24, V10, V31, V4, V3, V2)) end(E23, E24, E25, E26)); _ -> fun (V36) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.DPair.MkDPair', V1, {'Idris.Builtin.MkPair', V3, {'Idris.Builtin.MkPair', V2, {'Idris.Builtin.MkPair', V4, {'Idris.Builtin.MkPair', V5, V6}}}}}} end end end(E19, E20, E21, E22)); _ -> fun (V37) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.DPair.MkDPair', V1, {'Idris.Builtin.MkPair', V3, {'Idris.Builtin.MkPair', V2, {'Idris.Builtin.MkPair', V4, {'Idris.Builtin.MkPair', V5, V6}}}}}} end end end(E15, E16, E17, E18)); _ -> fun (V38) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.DPair.MkDPair', V1, {'Idris.Builtin.MkPair', V3, {'Idris.Builtin.MkPair', V2, {'Idris.Builtin.MkPair', V4, {'Idris.Builtin.MkPair', V5, V6}}}}}} end end end(E0, E1, E2, E3)); _ -> fun (V39) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.DPair.MkDPair', V1, {'Idris.Builtin.MkPair', V3, {'Idris.Builtin.MkPair', V2, {'Idris.Builtin.MkPair', V4, {'Idris.Builtin.MkPair', V5, V6}}}}}} end end. 'un--compileRunTime'(V0, V1, V2, V3, V4, V5) -> begin (V34 = begin (V33 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V8, V9, V10)) end end end end end, fun (V11) -> fun (V12) -> fun (V13) -> V12 end end end, fun (V14) -> fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> begin (V19 = (V16(V18))), begin (V20 = (V17(V18))), (V19(V20)) end end end end end end end}, fun (V21) -> fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> begin (V26 = (V23(V25))), ((V24(V26))(V25)) end end end end end end, fun (V27) -> fun (V28) -> fun (V29) -> begin (V30 = (V28(V29))), (V30(V29)) end end end end}, fun (V31) -> fun (V32) -> V32 end end}, V0))(V5))), {'Idris.Prelude.Types.Right', V33} end), case V34 of {'Idris.Prelude.Types.Left', E0} -> (fun (V35) -> {'Idris.Prelude.Types.Left', V35} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V36) -> begin (V65 = (('Idris.Idris2.Core.Core':'un--traverse_'('erased', 'erased', fun (V37) -> fun (V38) -> ('un--mkRunTime'(V0, V1, V2, V3, V37, V38)) end end, case V36 of {'Idris.Core.Context.MkDefs', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27} -> (fun (V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64) -> V59 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V5))), case V65 of {'Idris.Prelude.Types.Left', E28} -> (fun (V66) -> {'Idris.Prelude.Types.Left', V66} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V67) -> begin (V96 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V68) -> fun (V69) -> ('un--calcRefs'(V0, 0, V4, V68, V69)) end end, case V36 of {'Idris.Core.Context.MkDefs', E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55} -> (fun (V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90, V91, V92, V93, V94, V95) -> V90 end(E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V5))), case V96 of {'Idris.Prelude.Types.Left', E56} -> (fun (V97) -> {'Idris.Prelude.Types.Left', V97} end(E56)); {'Idris.Prelude.Types.Right', E57} -> (fun (V98) -> begin (V127 = begin (V126 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V99) -> fun (V100) -> fun (V101) -> fun (V102) -> fun (V103) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V101, V102, V103)) end end end end end, fun (V104) -> fun (V105) -> fun (V106) -> V105 end end end, fun (V107) -> fun (V108) -> fun (V109) -> fun (V110) -> fun (V111) -> begin (V112 = (V109(V111))), begin (V113 = (V110(V111))), (V112(V113)) end end end end end end end}, fun (V114) -> fun (V115) -> fun (V116) -> fun (V117) -> fun (V118) -> begin (V119 = (V116(V118))), ((V117(V119))(V118)) end end end end end end, fun (V120) -> fun (V121) -> fun (V122) -> begin (V123 = (V121(V122))), (V123(V122)) end end end end}, fun (V124) -> fun (V125) -> V125 end end}, V0))(V5))), {'Idris.Prelude.Types.Right', V126} end), case V127 of {'Idris.Prelude.Types.Left', E58} -> (fun (V128) -> {'Idris.Prelude.Types.Left', V128} end(E58)); {'Idris.Prelude.Types.Right', E59} -> (fun (V129) -> begin (V183 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V130) -> fun (V131) -> fun (V132) -> fun (V133) -> fun (V134) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V132, V133, V134)) end end end end end, fun (V135) -> fun (V136) -> fun (V137) -> V136 end end end, fun (V138) -> fun (V139) -> fun (V140) -> fun (V141) -> fun (V142) -> begin (V143 = (V140(V142))), begin (V144 = (V141(V142))), (V143(V144)) end end end end end end end}, fun (V145) -> fun (V146) -> fun (V147) -> fun (V148) -> fun (V149) -> begin (V150 = (V147(V149))), ((V148(V150))(V149)) end end end end end end, fun (V151) -> fun (V152) -> fun (V153) -> begin (V154 = (V152(V153))), (V154(V153)) end end end end}, fun (V155) -> fun (V156) -> V156 end end}, V0, case V129 of {'Idris.Core.Context.MkDefs', E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85} -> (fun (V157, V158, V159, V160, V161, V162, V163, V164, V165, V166, V167, V168, V169, V170, V171, V172, V173, V174, V175, V176, V177, V178, V179, V180, V181, V182) -> {'Idris.Core.Context.MkDefs', V157, V158, V159, V160, V161, V162, V163, V164, V165, V166, V167, V168, V169, V170, V171, V172, V173, V174, V175, V176, [], V178, V179, V180, V181, V182} end(E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V5))), {'Idris.Prelude.Types.Right', V183} end end(E59)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E57)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--combineLinear'(V0, V1) -> case V1 of [] -> fun (V2) -> {'Idris.Prelude.Types.Right', []} end; [E0 | E1] -> (fun (V3, V4) -> case V3 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V5, V6) -> ('case--combineLinear-8911'(V5, V6, V4, V0, ('nested--16460-8757--in--un--lookupAll'(V5, V6, V4, V0, V5, V4)))) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--checkLHS'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> begin (V42 = begin (V41 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V14) -> fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V16, V17, V18)) end end end end end, fun (V19) -> fun (V20) -> fun (V21) -> V20 end end end, fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> fun (V26) -> begin (V27 = (V24(V26))), begin (V28 = (V25(V26))), (V27(V28)) end end end end end end end}, fun (V29) -> fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> begin (V34 = (V31(V33))), ((V32(V34))(V33)) end end end end end end, fun (V35) -> fun (V36) -> fun (V37) -> begin (V38 = (V36(V37))), (V38(V37)) end end end end}, fun (V39) -> fun (V40) -> V40 end end}, V1))(V13))), {'Idris.Prelude.Types.Right', V41} end), case V42 of {'Idris.Prelude.Types.Left', E0} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V44) -> begin (V45 = case V4 of 0 -> {'Idris.Prelude.Types.Right', V12}; 1 -> (('Idris.Idris2.TTImp.TTImp':'un--lhsInCurrentNS'('erased', V1, V9, V12))(V13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V45 of {'Idris.Prelude.Types.Left', E2} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V47) -> begin (V48 = ('Idris.Idris2.Core.Context':'un--isUnboundImplicits'(V1, V13))), case V48 of {'Idris.Prelude.Types.Left', E4} -> (fun (V49) -> {'Idris.Prelude.Types.Left', V49} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V50) -> begin (V51 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V1, 0, V13))), case V51 of {'Idris.Prelude.Types.Left', E6} -> (fun (V52) -> {'Idris.Prelude.Types.Left', V52} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V53) -> begin (V54 = ('Idris.Idris2.TTImp.BindImplicits':'un--bindNames'(V1, 1, V47, V13))), case V54 of {'Idris.Prelude.Types.Left', E8} -> (fun (V55) -> {'Idris.Prelude.Types.Left', V55} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V56) -> case V56 of {'Idris.Builtin.MkPair', E10, E11} -> (fun (V57, V58) -> begin (V59 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V1, V50, V13))), case V59 of {'Idris.Prelude.Types.Left', E12} -> (fun (V60) -> {'Idris.Prelude.Types.Left', V60} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V61) -> begin (V62 = case V4 of 0 -> {'Idris.Prelude.Types.Right', V58}; 1 -> (('Idris.Idris2.TTImp.TTImp':'un--implicitsAs'(V1, V44, V0, V58))(V13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V62 of {'Idris.Prelude.Types.Left', E14} -> (fun (V63) -> {'Idris.Prelude.Types.Left', V63} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V64) -> begin (V68 = begin (V65 = (('Idris.Idris2.Core.Context':'un--getFullName'(V1, {'Idris.Core.Name.Resolved', V7}))(V13))), case V65 of {'Idris.Prelude.Types.Left', E16} -> (fun (V66) -> {'Idris.Prelude.Types.Left', V66} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V67) -> (('Idris.Idris2.Core.Context.Log':'un--log'(V1, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Checking LHS of "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V67)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V64)))))))) end))(V13)) end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V68 of {'Idris.Prelude.Types.Left', E18} -> (fun (V69) -> {'Idris.Prelude.Types.Left', V69} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V70) -> begin (V71 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V0, V1, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), <<"In env"/utf8>>, V10, V13))), case V71 of {'Idris.Prelude.Types.Left', E20} -> (fun (V72) -> {'Idris.Prelude.Types.Left', V72} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V73) -> begin (V74 = case V4 of 0 -> {'Idris.TTImp.Elab.Check.InTransform'}; 1 -> {'Idris.TTImp.Elab.Check.InLHS', V5}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), begin (V79 = begin (V75 = (('Idris.Idris2.Core.Context':'un--getFullName'(V1, {'Idris.Core.Name.Resolved', V7}))(V13))), case V75 of {'Idris.Prelude.Types.Left', E22} -> (fun (V76) -> {'Idris.Prelude.Types.Left', V76} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V77) -> ((('Idris.Idris2.TTImp.Elab.Utils':'un--wrapErrorC'('erased', V8, fun (V78) -> {'Idris.Core.Core.InLHS', V11, V77, V78} end))(('Idris.Idris2.TTImp.Elab':'un--elabTerm'(V0, V1, V2, V3, V7, V74, V8, V9, V10, {'Idris.TTImp.TTImp.IBindHere', V11, {'Idris.TTImp.TTImp.PATTERN'}, V64}, {'Idris.Prelude.Types.Nothing'}))))(V13)) end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V79 of {'Idris.Prelude.Types.Left', E24} -> (fun (V80) -> {'Idris.Prelude.Types.Left', V80} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V81) -> case V81 of {'Idris.Builtin.MkPair', E26, E27} -> (fun (V82, V83) -> begin (V84 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V0, V1, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Checked LHS term"/utf8>> end, V82, V13))), case V84 of {'Idris.Prelude.Types.Left', E28} -> (fun (V85) -> {'Idris.Prelude.Types.Left', V85} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V86) -> begin (V87 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V83))(V13))), case V87 of {'Idris.Prelude.Types.Left', E30} -> (fun (V88) -> {'Idris.Prelude.Types.Left', V88} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V89) -> begin (V118 = begin (V117 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V90) -> fun (V91) -> fun (V92) -> fun (V93) -> fun (V94) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V92, V93, V94)) end end end end end, fun (V95) -> fun (V96) -> fun (V97) -> V96 end end end, fun (V98) -> fun (V99) -> fun (V100) -> fun (V101) -> fun (V102) -> begin (V103 = (V100(V102))), begin (V104 = (V101(V102))), (V103(V104)) end end end end end end end}, fun (V105) -> fun (V106) -> fun (V107) -> fun (V108) -> fun (V109) -> begin (V110 = (V107(V109))), ((V108(V110))(V109)) end end end end end end, fun (V111) -> fun (V112) -> fun (V113) -> begin (V114 = (V112(V113))), (V114(V113)) end end end end}, fun (V115) -> fun (V116) -> V116 end end}, V1))(V13))), {'Idris.Prelude.Types.Right', V117} end), case V118 of {'Idris.Prelude.Types.Left', E32} -> (fun (V119) -> {'Idris.Prelude.Types.Left', V119} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V120) -> begin (V121 = ('Idris.Idris2.Core.Env':'un--letToLam'('erased', V10))), begin (V122 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V1, V0, V120, V121, V82, V13))), case V122 of {'Idris.Prelude.Types.Left', E34} -> (fun (V123) -> {'Idris.Prelude.Types.Left', V123} end(E34)); {'Idris.Prelude.Types.Right', E35} -> (fun (V124) -> begin (V125 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V1, V0, V120, V10, V89, V13))), case V125 of {'Idris.Prelude.Types.Left', E36} -> (fun (V126) -> {'Idris.Prelude.Types.Left', V126} end(E36)); {'Idris.Prelude.Types.Right', E37} -> (fun (V127) -> begin (V132 = (('un--findLinear'(V0, V1, 0, 0, ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V128) -> fun (V129) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V128, V129)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V130) -> fun (V131) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V130, V131)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V124))(V13))), case V132 of {'Idris.Prelude.Types.Left', E38} -> (fun (V133) -> {'Idris.Prelude.Types.Left', V133} end(E38)); {'Idris.Prelude.Types.Right', E39} -> (fun (V134) -> begin (V135 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V0, V1, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<"Checked LHS term after normalise"/utf8>> end, V124, V13))), case V135 of {'Idris.Prelude.Types.Left', E40} -> (fun (V136) -> {'Idris.Prelude.Types.Left', V136} end(E40)); {'Idris.Prelude.Types.Right', E41} -> (fun (V137) -> begin (V153 = (('Idris.Idris2.Core.Context.Log':'un--log'(V1, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity of names in "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Prelude.Show':'dn--un--show_Show__Int'(V7)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V138) -> ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V139) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V139)) end, fun (V140) -> fun (V141) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V140, V141)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V142) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V142)) end, fun (V143) -> fun (V144) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--showPrec_Show__ZeroOneOmega'(V143, V144)) end end}}, V138)) end, fun (V145) -> fun (V146) -> ('Idris.Idris2.Prelude.Show':'dn--un--showPrec_Show__(|((Builtin.Pair $a) $b),((Builtin.MkPair $a) $b)|)'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V147) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V147)) end, fun (V148) -> fun (V149) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V148, V149)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V150) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V150)) end, fun (V151) -> fun (V152) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--showPrec_Show__ZeroOneOmega'(V151, V152)) end end}}, V145, V146)) end end}, V134)))))))) end))(V13))), case V153 of {'Idris.Prelude.Types.Left', E42} -> (fun (V154) -> {'Idris.Prelude.Types.Left', V154} end(E42)); {'Idris.Prelude.Types.Right', E43} -> (fun (V155) -> begin (V156 = (('un--combineLinear'(V11, V134))(V13))), case V156 of {'Idris.Prelude.Types.Left', E44} -> (fun (V157) -> {'Idris.Prelude.Types.Left', V157} end(E44)); {'Idris.Prelude.Types.Right', E45} -> (fun (V158) -> begin (V159 = ('un--setLinear'('erased', V158, V124))), begin (V160 = ('un--setLinear'('erased', V158, V127))), begin (V161 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V0, V1, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"LHS term"/utf8>> end, V159, V13))), case V161 of {'Idris.Prelude.Types.Left', E46} -> (fun (V162) -> {'Idris.Prelude.Types.Left', V162} end(E46)); {'Idris.Prelude.Types.Right', E47} -> (fun (V163) -> begin (V164 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V0, V1, <<"declare.def.lhs"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"LHS type"/utf8>> end, V160, V13))), case V164 of {'Idris.Prelude.Types.Left', E48} -> (fun (V165) -> {'Idris.Prelude.Types.Left', V165} end(E48)); {'Idris.Prelude.Types.Right', E49} -> (fun (V166) -> begin (V167 = ('Idris.Idris2.Core.Metadata':'un--setHoleLHS'(V2, ('Idris.Idris2.Core.Env':'un--bindEnv'(V0, V11, V10, V159)), V13))), case V167 of {'Idris.Prelude.Types.Left', E50} -> (fun (V168) -> {'Idris.Prelude.Types.Left', V168} end(E50)); {'Idris.Prelude.Types.Right', E51} -> (fun (V169) -> begin (V170 = (('un--extendEnv'('erased', V0, V10, {'Idris.Core.TT.SubRefl'}, V9, V159, V160))(V13))), case V170 of {'Idris.Prelude.Types.Left', E52} -> (fun (V171) -> {'Idris.Prelude.Types.Left', V171} end(E52)); {'Idris.Prelude.Types.Right', E53} -> (fun (V172) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V64, V172}} end(E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E51)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E49)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E47)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E45)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E39)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E26, E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E10, E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--checkClause'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.TTImp.TTImp.ImpossibleClause', E0, E1} -> (fun (V13, V14) -> fun (V15) -> begin (V16 = (('Idris.Idris2.TTImp.TTImp':'un--lhsInCurrentNS'('erased', V1, V10, V14))(V15))), case V16 of {'Idris.Prelude.Types.Left', E2} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V18) -> ('Idris.Idris2.Core.UnifyState':'un--handleUnify'('erased', V1, V3, fun (V19) -> begin (V20 = ('Idris.Idris2.Core.Context':'un--isUnboundImplicits'(V1, V19))), case V20 of {'Idris.Prelude.Types.Left', E4} -> (fun (V21) -> {'Idris.Prelude.Types.Left', V21} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V22) -> begin (V23 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V1, 0, V19))), case V23 of {'Idris.Prelude.Types.Left', E6} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V25) -> begin (V26 = ('Idris.Idris2.TTImp.BindImplicits':'un--bindNames'(V1, 1, V18, V19))), case V26 of {'Idris.Prelude.Types.Left', E8} -> (fun (V27) -> {'Idris.Prelude.Types.Left', V27} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V28) -> case V28 of {'Idris.Builtin.MkPair', E10, E11} -> (fun (V29, V30) -> begin (V31 = ('Idris.Idris2.Core.Context':'un--setUnboundImplicits'(V1, V22, V19))), case V31 of {'Idris.Prelude.Types.Left', E12} -> (fun (V32) -> {'Idris.Prelude.Types.Left', V32} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V33) -> begin (V34 = (('Idris.Idris2.Core.Context.Log':'un--log'(V1, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Checking "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V30)))) end))(V19))), case V34 of {'Idris.Prelude.Types.Left', E14} -> (fun (V35) -> {'Idris.Prelude.Types.Left', V35} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V36) -> begin (V37 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V0, V1, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), <<"In env"/utf8>>, V11, V19))), case V37 of {'Idris.Prelude.Types.Left', E16} -> (fun (V38) -> {'Idris.Prelude.Types.Left', V38} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V39) -> begin (V40 = (('Idris.Idris2.TTImp.Elab':'un--elabTerm'(V0, V1, V2, V3, V8, {'Idris.TTImp.Elab.Check.InLHS', V4}, V9, V10, V11, {'Idris.TTImp.TTImp.IBindHere', V13, {'Idris.TTImp.TTImp.PATTERN'}, V30}, {'Idris.Prelude.Types.Nothing'}))(V19))), case V40 of {'Idris.Prelude.Types.Left', E18} -> (fun (V41) -> {'Idris.Prelude.Types.Left', V41} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V42) -> case V42 of {'Idris.Builtin.MkPair', E20, E21} -> (fun (V43, V44) -> begin (V73 = begin (V72 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V45) -> fun (V46) -> fun (V47) -> fun (V48) -> fun (V49) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V47, V48, V49)) end end end end end, fun (V50) -> fun (V51) -> fun (V52) -> V51 end end end, fun (V53) -> fun (V54) -> fun (V55) -> fun (V56) -> fun (V57) -> begin (V58 = (V55(V57))), begin (V59 = (V56(V57))), (V58(V59)) end end end end end end end}, fun (V60) -> fun (V61) -> fun (V62) -> fun (V63) -> fun (V64) -> begin (V65 = (V62(V64))), ((V63(V65))(V64)) end end end end end end, fun (V66) -> fun (V67) -> fun (V68) -> begin (V69 = (V67(V68))), (V69(V68)) end end end end}, fun (V70) -> fun (V71) -> V71 end end}, V1))(V19))), {'Idris.Prelude.Types.Right', V72} end), case V73 of {'Idris.Prelude.Types.Left', E22} -> (fun (V74) -> {'Idris.Prelude.Types.Left', V74} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V75) -> begin (V76 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V1, V0, V75, V11, V43, V19))), case V76 of {'Idris.Prelude.Types.Left', E24} -> (fun (V77) -> {'Idris.Prelude.Types.Left', V77} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V78) -> begin (V79 = (('un--hasEmptyPat'(V0, V1, V75, V11, V78))(V19))), case V79 of {'Idris.Prelude.Types.Left', E26} -> (fun (V80) -> {'Idris.Prelude.Types.Left', V80} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V81) -> case V81 of 0 -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Left', V18}}; 1 -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.ValidCase', V0, V13, V11, {'Idris.Prelude.Types.Left', V78}}, V19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E20, E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E10, E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, fun (V82) -> case V82 of {'Idris.Core.Core.ValidCase', E32, E33, E34, E35} -> (fun (V83, V84, V85, V86) -> fun (V87) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', V82, V87)) end end(E32, E33, E34, E35)); _ -> fun (V88) -> begin (V117 = begin (V116 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V89) -> fun (V90) -> fun (V91) -> fun (V92) -> fun (V93) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V91, V92, V93)) end end end end end, fun (V94) -> fun (V95) -> fun (V96) -> V95 end end end, fun (V97) -> fun (V98) -> fun (V99) -> fun (V100) -> fun (V101) -> begin (V102 = (V99(V101))), begin (V103 = (V100(V101))), (V102(V103)) end end end end end end end}, fun (V104) -> fun (V105) -> fun (V106) -> fun (V107) -> fun (V108) -> begin (V109 = (V106(V108))), ((V107(V109))(V108)) end end end end end end, fun (V110) -> fun (V111) -> fun (V112) -> begin (V113 = (V111(V112))), (V113(V112)) end end end end}, fun (V114) -> fun (V115) -> V115 end end}, V1))(V88))), {'Idris.Prelude.Types.Right', V116} end), case V117 of {'Idris.Prelude.Types.Left', E28} -> (fun (V118) -> {'Idris.Prelude.Types.Left', V118} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V119) -> begin (V120 = (('un--impossibleErrOK'(V1, V119, V82))(V88))), case V120 of {'Idris.Prelude.Types.Left', E30} -> (fun (V121) -> {'Idris.Prelude.Types.Left', V121} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V122) -> case V122 of 0 -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Left', V18}}; 1 -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.ValidCase', V0, V13, V11, {'Idris.Prelude.Types.Right', V82}}, V88)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end, V15)) end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); {'Idris.TTImp.TTImp.PatClause', E36, E37, E38} -> (fun (V123, V124, V125) -> fun (V126) -> begin (V127 = ('un--checkLHS'(V0, V1, V2, V3, 1, V4, V7, V8, V9, V10, V11, V123, V124, V126))), case V127 of {'Idris.Prelude.Types.Left', E39} -> (fun (V128) -> {'Idris.Prelude.Types.Left', V128} end(E39)); {'Idris.Prelude.Types.Right', E40} -> (fun (V129) -> case V129 of {'Idris.Builtin.MkPair', E41, E42} -> (fun (V130, V131) -> case V131 of {'Idris.Builtin.DPair.MkDPair', E43, E44} -> (fun (V132, V133) -> case V133 of {'Idris.Builtin.MkPair', E45, E46} -> (fun (V134, V135) -> case V135 of {'Idris.Builtin.MkPair', E47, E48} -> (fun (V136, V137) -> case V137 of {'Idris.Builtin.MkPair', E49, E50} -> (fun (V138, V139) -> case V139 of {'Idris.Builtin.MkPair', E51, E52} -> (fun (V140, V141) -> begin (V151 = begin (V142 = {'Idris.Builtin.MkPair', V130, {'Idris.Builtin.DPair.MkDPair', V132, {'Idris.Builtin.MkPair', V134, {'Idris.Builtin.MkPair', V136, {'Idris.Builtin.MkPair', V138, {'Idris.Builtin.MkPair', V140, V141}}}}}}), ('case--case block in checkClause-10550'(V125, V124, V123, V0, V11, V10, V9, V8, V7, V6, V5, V4, V3, V2, V1, V130, V132, V134, V136, V138, V140, V141, V142, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V143) -> fun (V144) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V143, V144)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V145) -> fun (V146) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V145, V146)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V147) -> fun (V148) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V147, V148)) end end, fun (V149) -> fun (V150) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V149, V150)) end end}}, V4)))) end), begin (V152 = (('Idris.Idris2.Core.Context.Log':'un--log'(V1, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Checking RHS "/utf8>>, ('Idris.Idris2.TTImp.TTImp':'dn--un--show_Show__RawImp'(V125)))) end))(V126))), case V152 of {'Idris.Prelude.Types.Left', E53} -> (fun (V153) -> {'Idris.Prelude.Types.Left', V153} end(E53)); {'Idris.Prelude.Types.Right', E54} -> (fun (V154) -> begin (V155 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V132, V1, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), <<"In env"/utf8>>, V136, V126))), case V155 of {'Idris.Prelude.Types.Left', E55} -> (fun (V156) -> {'Idris.Prelude.Types.Left', V156} end(E55)); {'Idris.Prelude.Types.Right', E56} -> (fun (V157) -> begin (V163 = begin (V158 = (('Idris.Idris2.Core.Context':'un--getFullName'(V1, {'Idris.Core.Name.Resolved', V8}))(V126))), case V158 of {'Idris.Prelude.Types.Left', E57} -> (fun (V159) -> {'Idris.Prelude.Types.Left', V159} end(E57)); {'Idris.Prelude.Types.Right', E58} -> (fun (V160) -> ((('Idris.Idris2.TTImp.Elab.Utils':'un--wrapErrorC'('erased', V9, fun (V162) -> {'Idris.Core.Core.InRHS', V123, V160, V162} end))(fun (V161) -> ('Idris.Idris2.TTImp.Elab':'un--checkTermSub'(V0, V132, V1, V2, V3, V8, V151, V9, V138, V136, V11, V134, V125, ('Idris.Idris2.Core.Normalise':'un--gnf'(V132, V136, V141)), V161)) end))(V126)) end(E58)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V163 of {'Idris.Prelude.Types.Left', E59} -> (fun (V164) -> {'Idris.Prelude.Types.Left', V164} end(E59)); {'Idris.Prelude.Types.Right', E60} -> (fun (V165) -> begin (V166 = ('Idris.Idris2.Core.Metadata':'un--clearHoleLHS'(V2, V126))), case V166 of {'Idris.Prelude.Types.Left', E61} -> (fun (V167) -> {'Idris.Prelude.Types.Left', V167} end(E61)); {'Idris.Prelude.Types.Right', E62} -> (fun (V168) -> begin (V169 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V132, V1, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"RHS term"/utf8>> end, V165, V126))), case V169 of {'Idris.Prelude.Types.Left', E63} -> (fun (V170) -> {'Idris.Prelude.Types.Left', V170} end(E63)); {'Idris.Prelude.Types.Right', E64} -> (fun (V171) -> begin (V189 = case V7 of 0 -> begin (V179 = ('Idris.Idris2.Core.Context':'un--addHashWithNames'('erased', V1, {'Idris.Core.Hash.dn--un--__mkHashable', fun (V172) -> ('Idris.Idris2.Core.Hash':'dn--un--hash_Hashable__(Term $vars)'('erased', V172)) end, fun (V173) -> fun (V174) -> ('Idris.Idris2.Core.Hash':'dn--un--hashWithSalt_Hashable__(Term $vars)'('erased', V173, V174)) end end}, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V175) -> fun (V176) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V175, V176)) end end, fun (V177) -> fun (V178) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V177, V178)) end end}, V140, V126))), case V179 of {'Idris.Prelude.Types.Left', E65} -> (fun (V180) -> {'Idris.Prelude.Types.Left', V180} end(E65)); {'Idris.Prelude.Types.Right', E66} -> (fun (V181) -> ('Idris.Idris2.Core.Context':'un--addHashWithNames'('erased', V1, {'Idris.Core.Hash.dn--un--__mkHashable', fun (V182) -> ('Idris.Idris2.Core.Hash':'dn--un--hash_Hashable__(Term $vars)'('erased', V182)) end, fun (V183) -> fun (V184) -> ('Idris.Idris2.Core.Hash':'dn--un--hashWithSalt_Hashable__(Term $vars)'('erased', V183, V184)) end end}, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V185) -> fun (V186) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V185, V186)) end end, fun (V187) -> fun (V188) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V187, V188)) end end}, V165, V126)) end(E66)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V189 of {'Idris.Prelude.Types.Left', E67} -> (fun (V190) -> {'Idris.Prelude.Types.Left', V190} end(E67)); {'Idris.Prelude.Types.Right', E68} -> (fun (V191) -> begin (V196 = case V165 of {'Idris.Core.TT.Meta', E69, E70, E71, E72} -> (fun (V192, V193, V194, V195) -> ('Idris.Idris2.Core.Metadata':'un--addLHS'(V132, V1, V2, ('Idris.Idris2.TTImp.TTImp':'un--getFC'(V124)), ('Idris.Idris2.Core.Env':'un--length'('erased', 'erased', V11)), V136, V140, V126)) end(E69, E70, E71, E72)); _ -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end), case V196 of {'Idris.Prelude.Types.Left', E73} -> (fun (V197) -> {'Idris.Prelude.Types.Left', V197} end(E73)); {'Idris.Prelude.Types.Right', E74} -> (fun (V198) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Right', {'Idris.Core.Context.MkClause', V132, V136, V140, V165}}} end(E74)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E68)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E64)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E62)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E60)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E56)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E54)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E51, E52)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E49, E50)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E47, E48)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E45, E46)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E43, E44)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E41, E42)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E40)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E36, E37, E38)); {'Idris.TTImp.TTImp.WithClause', E75, E76, E77, E78, E79} -> (fun (V199, V200, V201, V202, V203) -> fun (V204) -> begin (V205 = ('un--checkLHS'(V0, V1, V2, V3, 1, V4, V7, V8, V9, V10, V11, V199, V200, V204))), case V205 of {'Idris.Prelude.Types.Left', E80} -> (fun (V206) -> {'Idris.Prelude.Types.Left', V206} end(E80)); {'Idris.Prelude.Types.Right', E81} -> (fun (V207) -> case V207 of {'Idris.Builtin.MkPair', E82, E83} -> (fun (V208, V209) -> case V209 of {'Idris.Builtin.DPair.MkDPair', E84, E85} -> (fun (V210, V211) -> case V211 of {'Idris.Builtin.MkPair', E86, E87} -> (fun (V212, V213) -> case V213 of {'Idris.Builtin.MkPair', E88, E89} -> (fun (V214, V215) -> case V215 of {'Idris.Builtin.MkPair', E90, E91} -> (fun (V216, V217) -> case V217 of {'Idris.Builtin.MkPair', E92, E93} -> (fun (V218, V219) -> begin (V229 = begin (V220 = {'Idris.Builtin.MkPair', V208, {'Idris.Builtin.DPair.MkDPair', V210, {'Idris.Builtin.MkPair', V212, {'Idris.Builtin.MkPair', V214, {'Idris.Builtin.MkPair', V216, {'Idris.Builtin.MkPair', V218, V219}}}}}}), ('case--case block in checkClause-13225'(V203, V202, V201, V200, V199, V0, V11, V10, V9, V8, V7, V6, V5, V4, V3, V2, V1, V208, V210, V212, V214, V216, V218, V219, V220, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V221) -> fun (V222) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V221, V222)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V223) -> fun (V224) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V223, V224)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V225) -> fun (V226) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V225, V226)) end end, fun (V227) -> fun (V228) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V227, V228)) end end}}, V4)))) end), begin (V234 = begin (V230 = (('Idris.Idris2.Core.Context':'un--getFullName'(V1, {'Idris.Core.Name.Resolved', V8}))(V204))), case V230 of {'Idris.Prelude.Types.Left', E94} -> (fun (V231) -> {'Idris.Prelude.Types.Left', V231} end(E94)); {'Idris.Prelude.Types.Right', E95} -> (fun (V232) -> ((('Idris.Idris2.TTImp.Elab.Utils':'un--wrapErrorC'('erased', V9, fun (V233) -> {'Idris.Core.Core.InRHS', V199, V232, V233} end))(('Idris.Idris2.TTImp.Elab':'un--elabTermSub'(V0, V210, V1, V2, V3, V8, V229, V9, V216, V214, V11, V212, V201, {'Idris.Prelude.Types.Nothing'}))))(V204)) end(E95)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V234 of {'Idris.Prelude.Types.Left', E96} -> (fun (V235) -> {'Idris.Prelude.Types.Left', V235} end(E96)); {'Idris.Prelude.Types.Right', E97} -> (fun (V236) -> begin (V237 = {'Idris.Builtin.MkPair', V208, {'Idris.Builtin.DPair.MkDPair', V210, {'Idris.Builtin.MkPair', V212, {'Idris.Builtin.MkPair', V214, {'Idris.Builtin.MkPair', V216, {'Idris.Builtin.MkPair', V218, V219}}}}}}), case V236 of {'Idris.Builtin.MkPair', E98, E99} -> (fun (V238, V239) -> begin (V240 = ('Idris.Idris2.Core.Metadata':'un--clearHoleLHS'(V2, V204))), case V240 of {'Idris.Prelude.Types.Left', E100} -> (fun (V241) -> {'Idris.Prelude.Types.Left', V241} end(E100)); {'Idris.Prelude.Types.Right', E101} -> (fun (V242) -> begin (V243 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V210, V1, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"With value"/utf8>> end, V238, V204))), case V243 of {'Idris.Prelude.Types.Left', E102} -> (fun (V244) -> {'Idris.Prelude.Types.Left', V244} end(E102)); {'Idris.Prelude.Types.Right', E103} -> (fun (V245) -> begin (V246 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V210, V1, <<"declare.def.clause"/utf8>>, (1 + (1 + (1 + 0))), fun () -> <<"Required type"/utf8>> end, V219, V204))), case V246 of {'Idris.Prelude.Types.Left', E104} -> (fun (V247) -> {'Idris.Prelude.Types.Left', V247} end(E104)); {'Idris.Prelude.Types.Right', E105} -> (fun (V248) -> begin (V249 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V239))(V204))), case V249 of {'Idris.Prelude.Types.Left', E106} -> (fun (V250) -> {'Idris.Prelude.Types.Left', V250} end(E106)); {'Idris.Prelude.Types.Right', E107} -> (fun (V251) -> begin (V280 = begin (V279 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V252) -> fun (V253) -> fun (V254) -> fun (V255) -> fun (V256) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V254, V255, V256)) end end end end end, fun (V257) -> fun (V258) -> fun (V259) -> V258 end end end, fun (V260) -> fun (V261) -> fun (V262) -> fun (V263) -> fun (V264) -> begin (V265 = (V262(V264))), begin (V266 = (V263(V264))), (V265(V266)) end end end end end end end}, fun (V267) -> fun (V268) -> fun (V269) -> fun (V270) -> fun (V271) -> begin (V272 = (V269(V271))), ((V270(V272))(V271)) end end end end end end, fun (V273) -> fun (V274) -> fun (V275) -> begin (V276 = (V274(V275))), (V276(V275)) end end end end}, fun (V277) -> fun (V278) -> V278 end end}, V1))(V204))), {'Idris.Prelude.Types.Right', V279} end), case V280 of {'Idris.Prelude.Types.Left', E108} -> (fun (V281) -> {'Idris.Prelude.Types.Left', V281} end(E108)); {'Idris.Prelude.Types.Right', E109} -> (fun (V282) -> begin (V283 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V1, V210, V282, V214, V238, V204))), case V283 of {'Idris.Prelude.Types.Left', E110} -> (fun (V284) -> {'Idris.Prelude.Types.Left', V284} end(E110)); {'Idris.Prelude.Types.Right', E111} -> (fun (V285) -> begin (V286 = ('Idris.Idris2.Core.Normalise':'un--normaliseHoles'(V1, V210, V282, V214, V251, V204))), case V286 of {'Idris.Prelude.Types.Left', E112} -> (fun (V287) -> {'Idris.Prelude.Types.Left', V287} end(E112)); {'Idris.Prelude.Types.Right', E113} -> (fun (V288) -> begin (V289 = {'Idris.Builtin.MkPair', V238, V239}), (('case--case block in case block in checkClause-11283'(V203, V202, V201, V200, V199, V0, V11, V10, V9, V8, V7, V6, V5, V4, V3, V2, V1, V208, V210, V212, V214, V216, V218, V219, V237, V229, V238, V239, V289, V242, V245, V248, V251, V282, V285, V288, ('nested--17504-10646--in--un--keepOldEnv'(V203, V202, V201, V200, V199, V0, V11, V10, V9, V8, V7, V6, V5, V4, V3, V2, V1, 'erased', 'erased', V210, V212, case ('Idris.Idris2.Core.Env':'un--findSubEnv'(V210, V214, V285)) of {'Idris.Builtin.DPair.MkDPair', E114, E115} -> (fun (V290, V291) -> V291 end(E114, E115)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V204)) end end(E113)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E111)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E109)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E107)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E105)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E103)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E101)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E98, E99)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E97)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E92, E93)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E90, E91)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E88, E89)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E86, E87)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E84, E85)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E82, E83)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E81)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E75, E76, E77, E78, E79)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--calcRefs'(V0, V1, V2, V3, V4) -> begin (V33 = begin (V32 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V5) -> fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V7, V8, V9)) end end end end end, fun (V10) -> fun (V11) -> fun (V12) -> V11 end end end, fun (V13) -> fun (V14) -> fun (V15) -> fun (V16) -> fun (V17) -> begin (V18 = (V15(V17))), begin (V19 = (V16(V17))), (V18(V19)) end end end end end end end}, fun (V20) -> fun (V21) -> fun (V22) -> fun (V23) -> fun (V24) -> begin (V25 = (V22(V24))), ((V23(V25))(V24)) end end end end end end, fun (V26) -> fun (V27) -> fun (V28) -> begin (V29 = (V27(V28))), (V29(V28)) end end end end}, fun (V30) -> fun (V31) -> V31 end end}, V0))(V4))), {'Idris.Prelude.Types.Right', V32} end), case V33 of {'Idris.Prelude.Types.Left', E0} -> (fun (V34) -> {'Idris.Prelude.Types.Left', V34} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V35) -> begin (V62 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V3, case V35 of {'Idris.Core.Context.MkDefs', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27} -> (fun (V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61) -> V36 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V4))), case V62 of {'Idris.Prelude.Types.Left', E28} -> (fun (V63) -> {'Idris.Prelude.Types.Left', V63} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V64) -> case V64 of {'Idris.Prelude.Types.Just', E30} -> (fun (V65) -> begin (V66 = {'Idris.Prelude.Types.Just', V65}), (('case--case block in calcRefs-13533'(V3, V2, V1, V0, V35, V65, V66, case V65 of {'Idris.Core.Context.MkGlobalDef', E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51} -> (fun (V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87) -> V84 end(E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V4)) end end(E30)); _ -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--applyEnv'(V0, V1, V2, V3, V4) -> begin (V5 = (('Idris.Idris2.Core.Context':'un--resolveName'(V1, V3))(V4))), case V5 of {'Idris.Prelude.Types.Left', E0} -> (fun (V6) -> {'Idris.Prelude.Types.Left', V6} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V7) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V3, {'Idris.Builtin.MkPair', {'Idris.Prelude.Types.Just', V3}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Data.List':'un--reverse'('erased', ('Idris.Idris2.Core.Env':'un--allVarsNoLet'(V0, V2)))), fun (V8) -> fun (V9) -> ('Idris.Idris2.Core.UnifyState':'un--applyTo'(V0, V8, {'Idris.Core.TT.Ref', V8, V9, {'Idris.Core.Name.Resolved', V7}}, V2)) end end}}}} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end.