-module('Idris.Idris2.Core.LinearCheck'). -compile('no_auto_import'). -compile('inline'). -compile({'inline_size',24}). -export([ 'case--linearCheck-11641'/11, 'case--checkEnvUsage-11491'/14, 'case--checkEnvUsage-11398'/15, 'case--case block in lcheckMeta-11167'/28, 'case--case block in lcheckMeta-11040'/27, 'case--lcheckMeta-10967'/21, 'case--case block in case block in case block in lcheckDef-10605'/13, 'case--case block in case block in lcheckDef-10550'/13, 'case--case block in lcheckDef-10521'/10, 'case--lcheckDef-10492'/9, 'case--lcheckDef,updateUsage-10276'/18, 'case--lcheckDef-10212'/9, 'case--getArgUsage,getPUsage-9862'/15, 'case--getArgUsage,checkEnvUsage-9656'/18, 'case--getArgUsage,checkEnvUsage-9542'/19, 'case--case block in case block in case block in getArgUsage,getCaseUsage-9194'/29, 'case--case block in case block in getArgUsage,getCaseUsage-9071'/29, 'case--case block in getArgUsage,getCaseUsage-8990'/20, 'case--getArgUsage,getCaseUsage-8945'/21, 'case--getArgUsage,getCaseUsage,elseCase-8837'/22, 'case--lcheckBinder-8546'/10, 'case--case block in lcheckBinder-8476'/15, 'case--lcheckBinder-8432'/11, 'case--lcheckBinder-8370'/11, 'case--lcheckBinder-8307'/11, 'case--case block in lcheckBinder-8237'/15, 'case--lcheckBinder-8193'/11, 'case--lcheckBinder-8131'/11, 'case--case block in lcheck-7972'/14, 'case--lcheck-7935'/10, 'case--case block in lcheck-7864'/15, 'case--lcheck-7820'/11, 'case--lcheck-7762'/10, 'case--case block in lcheck-7699'/15, 'case--lcheck-7655'/11, 'case--case block in case block in lcheck-7467'/20, 'case--case block in case block in case block in lcheck-7229'/29, 'case--case block in case block in lcheck-7158'/24, 'case--case block in lcheck-7102'/15, 'case--lcheck-7056'/10, 'case--lcheck-6982'/11, 'case--case block in case block in lcheck-6886'/14, 'case--case block in lcheck-6853'/15, 'case--case block in case block in lcheck-6732'/22, 'case--case block in case block in lcheck-6601'/23, 'case--case block in lcheck-6526'/16, 'case--lcheck-6478'/11, 'case--lcheck,eraseLinear-6370'/15, 'case--lcheck,getZeroes-6259'/15, 'case--case block in lcheck,rig-6188'/11, 'case--lcheck,rig-6128'/10, 'case--case block in lcheck-5997'/15, 'case--case block in case block in lcheck-5911'/16, 'case--case block in lcheck-5849'/15, 'case--case block in lcheck-5739'/14, 'case--case block in lcheck-5677'/14, 'case--lcheck-5640'/12, 'case--lcheck,used-5456'/13, 'case--updateHoleUsage-5198'/8, 'case--case block in updateHoleUsage-4991'/14, 'case--updateHoleUsage-4964'/12, 'case--case block in updateHoleType-4427'/21, 'case--case block in updateHoleType-4285'/21, 'case--updateHoleType-4232'/21, 'case--localPrf-4128'/5, 'case--count-4078'/5, 'nested--8956-5342--in--un--used'/12, 'nested--8977-10257--in--un--updateUsage'/10, 'nested--8956-5575--in--un--unusedHoleArgs'/14, 'nested--8981-10816--in--un--substMeta'/19, 'nested--7454-3948--in--un--showAll'/4, 'nested--8977-10258--in--un--rigSafe'/10, 'nested--8956-5341--in--un--rigSafe'/13, 'nested--8956-6121--in--un--rig'/10, 'nested--8972-8768--in--un--isLocArg'/9, 'nested--8956-6122--in--un--getZeroes'/12, 'nested--8972-8770--in--un--getPUsage'/8, 'nested--8956-5340--in--un--getName'/15, 'nested--8972-8766--in--un--getCaseUsage'/13, 'nested--8956-6123--in--un--eraseLinear'/12, 'nested--12924-8818--in--un--elseCase'/21, 'nested--8972-8772--in--un--combineUsages'/8, 'nested--8972-8771--in--un--combineUsage'/8, 'nested--8972-8773--in--un--combine'/7, 'nested--15788-11348--in--un--checkUsageOK'/13, 'nested--8972-8767--in--un--checkUsageOK'/11, 'nested--8956-6124--in--un--checkUsageOK'/12, 'nested--8972-8769--in--un--checkEnvUsage'/13, 'dn--un--show_Show__ArgUsage'/1, 'dn--un--show_Show__(Usage $vars)'/2, 'dn--un--showPrec_Show__ArgUsage'/2, 'dn--un--showPrec_Show__(Usage $vars)'/3, 'dn--un--__Impl_Show_ArgUsage'/0, 'dn--un--__Impl_Show_(Usage $vars)'/1, 'un--updateHoleUsageArgs'/7, 'un--updateHoleUsage'/7, 'un--updateHoleType'/9, 'un--localPrf'/3, 'un--linearCheck'/9, 'un--lcheckMeta'/12, 'un--lcheckDef'/8, 'un--lcheckBinder'/7, 'un--lcheck'/7, 'un--getArgUsage'/7, 'un--expandMeta'/10, 'un--doneScope'/3, 'un--discharge'/10, 'un--count'/3, 'un--checkEnvUsage'/9, 'un--++'/3 ]). 'case--linearCheck-11641'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> begin (V16 = (('Idris.Idris2.Core.Context.Log':'un--log'(V7, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Used: "/utf8>>, ('dn--un--show_Show__(Usage $vars)'('erased', V14)))) end))(V15))), case V16 of {'Idris.Prelude.Types.Left', E4} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V18) -> begin (V19 = case ('Idris.Idris2.Prelude.Basics':'un--not'(V3)) of 0 -> (('un--checkEnvUsage'(V0, [], V7, V6, V5, V4, V2, V14, V11))(V15)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V19 of {'Idris.Prelude.Types.Left', E6} -> (fun (V20) -> {'Idris.Prelude.Types.Left', V20} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V21) -> {'Idris.Prelude.Types.Right', V11} end(E7)); _ -> ('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--checkEnvUsage-11491'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> ('un--updateHoleUsage'(('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V4, [V0 | V1])), V10, V9, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V12, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))), V11, [], V5)); 1 -> fun (V14) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--checkEnvUsage-11398'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of 0 -> ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)); 1 -> V12; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheckMeta-11167'(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 {'Idris.Builtin.MkPair', E0, E1} -> (fun (V28, V29) -> case V29 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V30, V31) -> fun (V32) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V28, {'Idris.Builtin.MkPair', V30, ('un--++'('erased', V22, V31))}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheckMeta-11040'(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 -> {'Idris.Core.TT.Erased', V13, 1}; 1 -> V20; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckMeta-10967'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> case V20 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V21, V22) -> case V22 of {'Idris.Builtin.MkPair', E2, E3} -> (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}, V18))(V25))), {'Idris.Prelude.Types.Right', V53} end), case V54 of {'Idris.Prelude.Types.Left', E4} -> (fun (V55) -> {'Idris.Prelude.Types.Left', V55} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V56) -> begin (V57 = (((V9(V56))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V14, V21))))(V25))), case V57 of {'Idris.Prelude.Types.Left', E6} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V59) -> begin (V69 = begin (V60 = {'Idris.Builtin.MkPair', V21, {'Idris.Builtin.MkPair', V23, V24}}), ('case--case block in lcheckMeta-11040'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V21, V23, V24, V60, V56, V59, ('Idris.Idris2.Prelude.Basics':'un--&&'(V15, fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V61) -> fun (V62) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V61, V62)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V63) -> fun (V64) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V63, V64)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V65) -> fun (V66) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V65, V66)) end end, fun (V67) -> fun (V68) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V67, V68)) end end}}, V8)) end)))) end), begin (V70 = (('un--lcheckMeta'(V0, V18, V17, V16, V15, V14, V13, V12, V11, V6, [V69 | V10], V59))(V25))), case V70 of {'Idris.Prelude.Types.Left', E8} -> (fun (V71) -> {'Idris.Prelude.Types.Left', V71} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V72) -> case V72 of {'Idris.Builtin.MkPair', E10, E11} -> (fun (V73, V74) -> case V74 of {'Idris.Builtin.MkPair', E12, E13} -> (fun (V75, V76) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V73, {'Idris.Builtin.MkPair', V75, ('un--++'('erased', V24, V76))}}} end(E12, E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E10, E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) 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 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 case block in lcheckDef-10605'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Core.Context.PMDef', E21, E22, E23, E24, E25} -> (fun (V13, V14, V15, V16, V17) -> fun (V18) -> begin (V61 = ('un--getArgUsage'(V6, V5, ('Idris.Idris2.Core.TT':'un--getLoc'('erased', case V9 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 (V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39) -> V21 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)), V3, case V9 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 (V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60) -> V42 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, V17, V18))), case V61 of {'Idris.Prelude.Types.Left', E68} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E68)); {'Idris.Prelude.Types.Right', E69} -> (fun (V63) -> begin (V67 = (('Idris.Idris2.Core.Context.Log':'un--log'(V6, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Overall arg usage "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V64) -> ('dn--un--show_Show__ArgUsage'(V64)) end, fun (V65) -> fun (V66) -> ('dn--un--showPrec_Show__ArgUsage'(V65, V66)) end end}, V63)))) end))(V18))), case V67 of {'Idris.Prelude.Types.Left', E70} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E70)); {'Idris.Prelude.Types.Right', E71} -> (fun (V69) -> begin (V91 = ('nested--8977-10257--in--un--updateUsage'('erased', V1, V2, V3, V4, V5, V6, 'erased', V63, case V9 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 (V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90) -> V72 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))), begin (V92 = ('Idris.Idris2.Core.Context':'un--updateTy'(V6, V8, V91, V18))), case V92 of {'Idris.Prelude.Types.Left', E93} -> (fun (V93) -> {'Idris.Prelude.Types.Left', V93} end(E93)); {'Idris.Prelude.Types.Right', E94} -> (fun (V94) -> begin (V95 = ('Idris.Idris2.Core.Context':'un--setLinearCheck'(V6, V8, 0, V18))), case V95 of {'Idris.Prelude.Types.Left', E95} -> (fun (V96) -> {'Idris.Prelude.Types.Left', V96} end(E95)); {'Idris.Prelude.Types.Right', E96} -> (fun (V97) -> begin (V119 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'([], V6, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"New type of "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(case V9 of {'Idris.Core.Context.MkGlobalDef', E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117} -> (fun (V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111, V112, V113, V114, V115, V116, V117, V118) -> V99 end(E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) end, V91, V18))), case V119 of {'Idris.Prelude.Types.Left', E118} -> (fun (V120) -> {'Idris.Prelude.Types.Left', V120} end(E118)); {'Idris.Prelude.Types.Right', E119} -> (fun (V121) -> begin (V164 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'([], V6, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Updated from "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(case V9 of {'Idris.Core.Context.MkGlobalDef', E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140} -> (fun (V122, V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142) -> V123 end(E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) end, case V9 of {'Idris.Core.Context.MkGlobalDef', E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153, E154, E155, E156, E157, E158, E159, E160, E161} -> (fun (V143, V144, V145, V146, V147, V148, V149, V150, V151, V152, V153, V154, V155, V156, V157, V158, V159, V160, V161, V162, V163) -> V145 end(E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153, E154, E155, E156, E157, E158, E159, E160, E161)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V18))), case V164 of {'Idris.Prelude.Types.Left', E162} -> (fun (V165) -> {'Idris.Prelude.Types.Left', V165} end(E162)); {'Idris.Prelude.Types.Right', E163} -> (fun (V166) -> {'Idris.Prelude.Types.Right', V91} end(E163)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E119)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E96)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E94)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E71)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E69)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E21, E22, E23, E24, E25)); _ -> fun (V167) -> {'Idris.Prelude.Types.Right', case V9 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 (V168, V169, V170, V171, V172, V173, V174, V175, V176, V177, V178, V179, V180, V181, V182, V183, V184, V185, V186, V187, V188) -> V170 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} end end. 'case--case block in case block in lcheckDef-10550'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of 0 -> fun (V13) -> {'Idris.Prelude.Types.Right', case V9 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 (V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34) -> V16 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} end; 1 -> ('case--case block in case block in case block in lcheckDef-10605'('erased', V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, case V9 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 (V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55) -> V52 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 lcheckDef-10521'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Prelude.Types.Just', E0} -> (fun (V10) -> fun (V11) -> begin (V33 = ('nested--8977-10258--in--un--rigSafe'('erased', V1, V2, V3, V4, V5, V6, case V10 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 (V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32) -> V19 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, V3, V11))), case V33 of {'Idris.Prelude.Types.Left', E22} -> (fun (V34) -> {'Idris.Prelude.Types.Left', V34} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V35) -> begin (V36 = {'Idris.Prelude.Types.Just', V10}), (('case--case block in case block in lcheckDef-10550'('erased', V1, V2, V3, V4, V5, V6, V7, V8, V10, V36, V35, case V10 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 (V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57) -> V53 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))(V11)) end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V58) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V4, V1}, V58)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckDef-10492'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Prelude.Types.Just', E0} -> (fun (V9) -> fun (V10) -> begin (V37 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'({'Idris.Core.Name.Resolved', V9}, case V7 of {'Idris.Core.Context.MkDefs', 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, E26} -> (fun (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) -> V11 end(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, E26)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V10))), case V37 of {'Idris.Prelude.Types.Left', E27} -> (fun (V38) -> {'Idris.Prelude.Types.Left', V38} end(E27)); {'Idris.Prelude.Types.Right', E28} -> (fun (V39) -> case V39 of {'Idris.Prelude.Types.Just', E29} -> (fun (V40) -> begin (V62 = ('nested--8977-10258--in--un--rigSafe'('erased', V1, V2, V3, V4, V5, V6, case V40 of {'Idris.Core.Context.MkGlobalDef', E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50} -> (fun (V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61) -> V48 end(E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V3, V10))), case V62 of {'Idris.Prelude.Types.Left', E51} -> (fun (V63) -> {'Idris.Prelude.Types.Left', V63} end(E51)); {'Idris.Prelude.Types.Right', E52} -> (fun (V64) -> begin (V65 = {'Idris.Prelude.Types.Just', V40}), (('case--case block in case block in lcheckDef-10550'('erased', V1, V2, V3, V4, V5, V6, V7, V9, V40, V65, V64, case V40 of {'Idris.Core.Context.MkGlobalDef', E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73} -> (fun (V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86) -> V82 end(E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V10)) end end(E52)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V4, V1}, V10)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E28)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V87) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V4, V1}, V87)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckDef,updateUsage-10276'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V8 of {'Idris.Core.LinearCheck.Use0'} -> (fun () -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V18) -> fun (V19) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V18, V19)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V20) -> fun (V21) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V20, V21)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})) end()); {'Idris.Core.LinearCheck.Use1'} -> (fun () -> ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V22) -> fun (V23) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V22, V23)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V24) -> fun (V25) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V24, V25)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})) end()); {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> V12 end()); {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> V12 end()); {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> V12 end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckDef-10212'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Prelude.Types.Just', E0} -> (fun (V9) -> fun (V10) -> {'Idris.Prelude.Types.Right', 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) -> V13 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 (V32) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V4, V1}, V32)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--getArgUsage,getPUsage-9862'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V15, V16) -> case V16 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V17, V18) -> fun (V19) -> begin (V20 = (('Idris.Idris2.Core.Context.Log':'un--log'(V5, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Used: "/utf8>>, ('dn--un--show_Show__(Usage $vars)'('erased', V18)))) end))(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.TT':'un--getArgs'('erased', V8))), begin (V24 = (('nested--8972-8769--in--un--checkEnvUsage'(V0, V1, V2, V3, V4, V5, [], V6, V2, V7, V18, V23, V15))(V19))), case V24 of {'Idris.Prelude.Types.Left', E6} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V26) -> begin (V27 = (('nested--8972-8766--in--un--getCaseUsage'(V0, V1, V2, V3, V4, V5, 'erased', V6, V10, V7, V23, V18, V9))(V19))), case V27 of {'Idris.Prelude.Types.Left', E8} -> (fun (V28) -> {'Idris.Prelude.Types.Left', V28} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V29) -> begin (V45 = (('Idris.Idris2.Core.Context.Log':'un--log'(V5, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Arg usage: "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V30) -> ('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 (V31) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V31)) end, fun (V32) -> fun (V33) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V32, V33)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V34) -> ('dn--un--show_Show__ArgUsage'(V34)) end, fun (V35) -> fun (V36) -> ('dn--un--showPrec_Show__ArgUsage'(V35, V36)) end end}}, V30)) end, fun (V37) -> fun (V38) -> ('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 (V39) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V39)) end, fun (V40) -> fun (V41) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V40, V41)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V42) -> ('dn--un--show_Show__ArgUsage'(V42)) end, fun (V43) -> fun (V44) -> ('dn--un--showPrec_Show__ArgUsage'(V43, V44)) end end}}, V37, V38)) end end}, V29)))) end))(V19))), case V45 of {'Idris.Prelude.Types.Left', E10} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V47) -> {'Idris.Prelude.Types.Right', V29} 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(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--getArgUsage,checkEnvUsage-9656'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of 0 -> ('un--updateHoleUsage'(('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V10, [V6 | V7])), V5, V4, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V16, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))), V15, [], V11)); 1 -> fun (V18) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--getArgUsage,checkEnvUsage-9542'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18) -> case V18 of 0 -> ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)); 1 -> V16; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in getArgUsage,getCaseUsage-9194'(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 -> {'Idris.Core.LinearCheck.Use0'}; 1 -> {'Idris.Core.LinearCheck.Use1'}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in getArgUsage,getCaseUsage-9071'(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 -> {'Idris.Core.LinearCheck.UseUnknown'}; 1 -> ('case--case block in case block in case block in getArgUsage,getCaseUsage-9194'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, 'erased', V16, V17, V18, V19, V20, V21, V22, 'erased', V24, V25, V26, V27, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V26, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in getArgUsage,getCaseUsage-8990'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19) -> case V15 of {'Idris.Core.TT.Local', E0, E1, E2} -> (fun (V20, V21, V22) -> fun (V23) -> begin (V24 = (('nested--8972-8766--in--un--getCaseUsage'(V0, V1, V2, V3, V4, V5, 'erased', V7, V14, V19, V16, V18, V17))(V23))), case V24 of {'Idris.Prelude.Types.Left', E3} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V26) -> begin (V27 = ('un--count'('erased', V22, V18))), begin (V28 = (('un--updateHoleUsage'(V7, V5, V4, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V27, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))), V22, [], V17))(V23))), case V28 of {'Idris.Prelude.Types.Left', E5} -> (fun (V29) -> {'Idris.Prelude.Types.Left', V29} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V30) -> begin (V32 = begin (V31 = {'Idris.Core.TT.Local', V20, V21, V22}), ('case--case block in case block in getArgUsage,getCaseUsage-9071'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, 'erased', V20, V21, V16, V17, V18, V19, V22, 'erased', V31, V26, V27, V30, ('Idris.Idris2.Prelude.Basics':'un--&&'(V30, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V27, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))) end)))) end), {'Idris.Prelude.Types.Right', [{'Idris.Builtin.MkPair', V13, V32} | V26]} end end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2)); _ -> fun (V33) -> ('nested--12924-8818--in--un--elseCase'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V33)) end end. 'case--getArgUsage,getCaseUsage-8945'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> case V20 of 0 -> case V15 of {'Idris.Core.TT.Local', E0, E1, E2} -> (fun (V21, V22, V23) -> fun (V24) -> begin (V25 = (('nested--8972-8766--in--un--getCaseUsage'(V0, V1, V2, V3, V4, V5, 'erased', V7, V14, V19, V16, V18, V17))(V24))), case V25 of {'Idris.Prelude.Types.Left', E3} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V27) -> begin (V28 = ('un--count'('erased', V23, V18))), begin (V29 = (('un--updateHoleUsage'(V7, V5, V4, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V28, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))), V23, [], V17))(V24))), case V29 of {'Idris.Prelude.Types.Left', E5} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V31) -> begin (V33 = begin (V32 = {'Idris.Core.TT.Local', V21, V22, V23}), ('case--case block in case block in getArgUsage,getCaseUsage-9071'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, 'erased', V21, V22, V16, V17, V18, V19, V23, 'erased', V32, V27, V28, V31, ('Idris.Idris2.Prelude.Basics':'un--&&'(V31, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V28, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))) end)))) end), {'Idris.Prelude.Types.Right', [{'Idris.Builtin.MkPair', V13, V33} | V27]} end end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2)); _ -> fun (V34) -> ('nested--12924-8818--in--un--elseCase'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V34)) end end; 1 -> fun (V35) -> ('nested--12924-8818--in--un--elseCase'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V35)) end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--getArgUsage,getCaseUsage,elseCase-8837'(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 -> [{'Idris.Builtin.MkPair', V13, {'Idris.Core.LinearCheck.Use0'}} | V20]; 1 -> [{'Idris.Builtin.MkPair', V13, {'Idris.Core.LinearCheck.UseKeep'}} | V20]; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckBinder-8546'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V10, V11) -> case V11 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V12, V13) -> fun (V14) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PVTy', V4, V3, V10}, {'Idris.Builtin.MkPair', V12, {'Idris.Core.LinearCheck.Nil'}}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheckBinder-8476'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V15, V16) -> case V16 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V17, V18) -> fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PLet', V4, V3, V15, V11}, {'Idris.Builtin.MkPair', V12, V18}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckBinder-8432'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> begin (V16 = (('un--lcheck'(V0, V9, V8, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V7, V3)), V6, V5, V1))(V15))), case V16 of {'Idris.Prelude.Types.Left', E4} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V18) -> case V18 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V19, V20) -> case V20 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V21, V22) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PLet', V4, V3, V19, V11}, {'Idris.Builtin.MkPair', V13, V22}}} end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) 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--lcheckBinder-8370'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PVar', V5, V4, V3, V11}, {'Idris.Builtin.MkPair', V13, {'Idris.Core.LinearCheck.Nil'}}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckBinder-8307'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Pi', V5, V4, V3, V11}, {'Idris.Builtin.MkPair', V13, {'Idris.Core.LinearCheck.Nil'}}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheckBinder-8237'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V15, V16) -> case V16 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V17, V18) -> fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Let', V4, V3, V15, V11}, {'Idris.Builtin.MkPair', V12, V18}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheckBinder-8193'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> begin (V16 = (('un--lcheck'(V0, V9, V8, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V7, V3)), V6, V5, V1))(V15))), case V16 of {'Idris.Prelude.Types.Left', E4} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V18) -> case V18 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V19, V20) -> case V20 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V21, V22) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Let', V4, V3, V19, V11}, {'Idris.Builtin.MkPair', V13, V22}}} end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) 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--lcheckBinder-8131'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Lam', V5, V4, V3, V11}, {'Idris.Builtin.MkPair', V13, {'Idris.Core.LinearCheck.Nil'}}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheck-7972'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Core.Value.NDelayed', E0, E1, E2} -> (fun (V14, V15, V16) -> 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}, V8))(V17))), {'Idris.Prelude.Types.Right', V45} end), case V46 of {'Idris.Prelude.Types.Left', E3} -> (fun (V47) -> {'Idris.Prelude.Types.Left', V47} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V48) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TForce', V3, V15, V9}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V8, V0, V48, V4, V16)), V11}}} end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2)); _ -> fun (V49) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, <<"Not a delayed type"/utf8>>}, V49)) end end. 'case--lcheck-7935'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V10, V11) -> case V11 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V12, V13) -> fun (V14) -> begin (V15 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V8, V12))(V14))), case V15 of {'Idris.Prelude.Types.Left', E4} -> (fun (V16) -> {'Idris.Prelude.Types.Left', V16} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V17) -> case V17 of {'Idris.Core.Value.NDelayed', E6, E7, E8} -> (fun (V18, V19, V20) -> begin (V49 = begin (V48 = (('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 (V21) -> fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V23, V24, V25)) end end end end end, fun (V26) -> fun (V27) -> fun (V28) -> V27 end end end, fun (V29) -> fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> begin (V34 = (V31(V33))), begin (V35 = (V32(V33))), (V34(V35)) end end end end end end end}, fun (V36) -> fun (V37) -> fun (V38) -> fun (V39) -> fun (V40) -> begin (V41 = (V38(V40))), ((V39(V41))(V40)) end end end end end end, fun (V42) -> fun (V43) -> fun (V44) -> begin (V45 = (V43(V44))), (V45(V44)) end end end end}, fun (V46) -> fun (V47) -> V47 end end}, V8))(V14))), {'Idris.Prelude.Types.Right', V48} end), case V49 of {'Idris.Prelude.Types.Left', E9} -> (fun (V50) -> {'Idris.Prelude.Types.Left', V50} end(E9)); {'Idris.Prelude.Types.Right', E10} -> (fun (V51) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TForce', V3, V19, V10}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V8, V0, V51, V4, V20)), V13}}} end(E10)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6, E7, E8)); _ -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, <<"Not a delayed type"/utf8>>}, V14)) 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 lcheck-7864'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V15, V16) -> case V16 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V17, V18) -> fun (V19) -> begin (V20 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V17))(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) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TDelay', V4, V3, V12, V15}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V5, {'Idris.Core.TT.TDelayed', V4, V3, V22})), V18}}} 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--lcheck-7820'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> begin (V16 = (('un--lcheck'(V0, V9, V8, V7, V6, V5, V1))(V15))), case V16 of {'Idris.Prelude.Types.Left', E4} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V18) -> case V18 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V19, V20) -> case V20 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V21, V22) -> begin (V23 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V21))(V15))), case V23 of {'Idris.Prelude.Types.Left', E10} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V25) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TDelay', V4, V3, V11, V19}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V5, {'Idris.Core.TT.TDelayed', V4, V3, V25})), V22}}} end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) 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--lcheck-7762'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V10, V11) -> case V11 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V12, V13) -> fun (V14) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TDelayed', V3, V2, V10}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gType'('erased', V3)), V13}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheck-7699'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V15, V16) -> case V16 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V17, V18) -> fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.As', V4, V3, V12, V15}, {'Idris.Builtin.MkPair', V17, V18}}} end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheck-7655'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> fun (V15) -> begin (V16 = (('un--lcheck'(V0, V9, V8, V7, V6, V5, V1))(V15))), case V16 of {'Idris.Prelude.Types.Left', E4} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V18) -> case V18 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V19, V20) -> case V20 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V21, V22) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.As', V4, V3, V11, V19}, {'Idris.Builtin.MkPair', V21, V22}}} end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) 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 lcheck-7467'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19) -> case V19 of {'Idris.Prelude.Types.Just', E0} -> (fun (V20) -> fun (V21) -> begin (V22 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V10))(V21))), case V22 of {'Idris.Prelude.Types.Left', E1} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V24) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V9)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V24)), <<" not a function type)"/utf8>>))))))))}, V21)) end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); _ -> fun (V25) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V3, V17}, V25)) end end. 'case--case block in case block in case block in lcheck-7229'(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 -> {'Idris.Core.TT.Erased', V3, 1}; 1 -> V23; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in lcheck-7158'(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) -> case V25 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V26, V27) -> fun (V28) -> begin (V29 = (((V20(V13))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V4, V24))))(V28))), 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 (V41 = begin (V32 = {'Idris.Builtin.MkPair', V24, {'Idris.Builtin.MkPair', V26, V27}}), ('case--case block in case block in case block in lcheck-7229'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V24, V26, V27, V32, V31, ('Idris.Idris2.Prelude.Basics':'un--&&'(V5, fun () -> ('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}}, V19)) end)))) end), begin (V42 = ('Idris.Idris2.Core.Context':'un--getSession'(V8, V28))), case V42 of {'Idris.Prelude.Types.Left', E6} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V44) -> begin (V71 = case case V44 of {'Idris.Core.Options.MkSessionOpts', 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) -> V54 end(E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end of 0 -> begin (V59 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V8, V26))(V28))), case V59 of {'Idris.Prelude.Types.Left', E8} -> (fun (V60) -> {'Idris.Prelude.Types.Left', V60} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V61) -> begin (V62 = ('Idris.Idris2.Core.Normalise':'dn--un--convert_Convert__NF'(V8, V0, V13, V4, V61, V18, V28))), case V62 of {'Idris.Prelude.Types.Left', E10} -> (fun (V63) -> {'Idris.Prelude.Types.Left', V63} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V64) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(V64)) of 0 -> begin (V65 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V8, V0, V13, V4, V18, V28))), case V65 of {'Idris.Prelude.Types.Left', E12} -> (fun (V66) -> {'Idris.Prelude.Types.Left', V66} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V67) -> begin (V68 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V8, V0, V13, V4, V61, V28))), case V68 of {'Idris.Prelude.Types.Left', E14} -> (fun (V69) -> {'Idris.Prelude.Types.Left', V69} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V70) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.CantConvert', V0, V3, V4, V67, V70}, V28)) end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V71 of {'Idris.Prelude.Types.Left', E30} -> (fun (V72) -> {'Idris.Prelude.Types.Left', V72} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V73) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.App', V3, V9, V41}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V8, V0, V13, V4, V31)), ('un--++'('erased', V11, V27))}}} end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end 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 lcheck-7102'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Core.Value.NBind', E2, E3, E4, E5} -> (fun (V15, V16, V17, V18) -> case V17 of {'Idris.Core.TT.Pi', E8, E9, E10, E11} -> (fun (V19, V20, V21, V22) -> begin (V23 = ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V20, V6))), fun (V24) -> begin (V25 = (('un--lcheck'(V0, V8, V7, V23, V5, V4, V1))(V24))), case V25 of {'Idris.Prelude.Types.Left', E12} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V27) -> begin (V28 = {'Idris.Core.Value.NBind', V15, V16, {'Idris.Core.TT.Pi', V19, V20, V21, V22}, V18}), case V27 of {'Idris.Builtin.MkPair', E14, E15} -> (fun (V29, V30) -> case V30 of {'Idris.Builtin.MkPair', E16, E17} -> (fun (V31, V32) -> begin (V33 = (((V18(V13))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V4, V29))))(V24))), case V33 of {'Idris.Prelude.Types.Left', E18} -> (fun (V34) -> {'Idris.Prelude.Types.Left', V34} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V35) -> begin (V45 = begin (V36 = {'Idris.Builtin.MkPair', V29, {'Idris.Builtin.MkPair', V31, V32}}), ('case--case block in case block in case block in lcheck-7229'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V15, V16, V19, V21, V22, V20, V18, V28, V23, V29, V31, V32, V36, V35, ('Idris.Idris2.Prelude.Basics':'un--&&'(V5, fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V37) -> fun (V38) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V37, V38)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V39) -> fun (V40) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V39, V40)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V41) -> fun (V42) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V41, V42)) end end, fun (V43) -> fun (V44) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V43, V44)) end end}}, V20)) end)))) end), begin (V46 = ('Idris.Idris2.Core.Context':'un--getSession'(V8, V24))), case V46 of {'Idris.Prelude.Types.Left', E20} -> (fun (V47) -> {'Idris.Prelude.Types.Left', V47} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V48) -> begin (V75 = case case V48 of {'Idris.Core.Options.MkSessionOpts', E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43} -> (fun (V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62) -> V58 end(E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end of 0 -> begin (V63 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V8, V31))(V24))), case V63 of {'Idris.Prelude.Types.Left', E22} -> (fun (V64) -> {'Idris.Prelude.Types.Left', V64} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V65) -> begin (V66 = ('Idris.Idris2.Core.Normalise':'dn--un--convert_Convert__NF'(V8, V0, V13, V4, V65, V22, V24))), case V66 of {'Idris.Prelude.Types.Left', E24} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V68) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(V68)) of 0 -> begin (V69 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V8, V0, V13, V4, V22, V24))), case V69 of {'Idris.Prelude.Types.Left', E26} -> (fun (V70) -> {'Idris.Prelude.Types.Left', V70} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V71) -> begin (V72 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V8, V0, V13, V4, V65, V24))), case V72 of {'Idris.Prelude.Types.Left', E28} -> (fun (V73) -> {'Idris.Prelude.Types.Left', V73} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V74) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.CantConvert', V0, V3, V4, V71, V74}, V24)) end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V75 of {'Idris.Prelude.Types.Left', E44} -> (fun (V76) -> {'Idris.Prelude.Types.Left', V76} end(E44)); {'Idris.Prelude.Types.Right', E45} -> (fun (V77) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.App', V3, V9, V45}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V8, V0, V13, V4, V35)), ('un--++'('erased', V11, V32))}}} end(E45)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E14, E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E8, E9, E10, E11)); _ -> fun (V78) -> begin (V79 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V10))(V78))), case V79 of {'Idris.Prelude.Types.Left', E6} -> (fun (V80) -> {'Idris.Prelude.Types.Left', V80} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V81) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V9)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V81)), <<" not a function type)"/utf8>>))))))))}, V78)) end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E2, E3, E4, E5)); {'Idris.Core.Value.NApp', E46, E47, E48} -> (fun (V82, V83, V84) -> case V83 of {'Idris.Core.Value.NRef', E51, E52} -> (fun (V85, V86) -> fun (V87) -> begin (V114 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V86, case V13 of {'Idris.Core.Context.MkDefs', E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78} -> (fun (V88, V89, V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111, V112, V113) -> V88 end(E53, E54, E55, E56, E57, 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))(V87))), case V114 of {'Idris.Prelude.Types.Left', E79} -> (fun (V115) -> {'Idris.Prelude.Types.Left', V115} end(E79)); {'Idris.Prelude.Types.Right', E80} -> (fun (V116) -> case V116 of {'Idris.Prelude.Types.Just', E81} -> (fun (V117) -> begin (V118 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V10))(V87))), case V118 of {'Idris.Prelude.Types.Left', E82} -> (fun (V119) -> {'Idris.Prelude.Types.Left', V119} end(E82)); {'Idris.Prelude.Types.Right', E83} -> (fun (V120) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V9)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V120)), <<" not a function type)"/utf8>>))))))))}, V87)) end(E83)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E81)); _ -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V3, V86}, V87)) end end(E80)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E51, E52)); _ -> fun (V121) -> begin (V122 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V10))(V121))), case V122 of {'Idris.Prelude.Types.Left', E49} -> (fun (V123) -> {'Idris.Prelude.Types.Left', V123} end(E49)); {'Idris.Prelude.Types.Right', E50} -> (fun (V124) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V9)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V124)), <<" not a function type)"/utf8>>))))))))}, V121)) end(E50)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E46, E47, E48)); _ -> fun (V125) -> begin (V126 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V10))(V125))), case V126 of {'Idris.Prelude.Types.Left', E0} -> (fun (V127) -> {'Idris.Prelude.Types.Left', V127} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V128) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V9)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V128)), <<" not a function type)"/utf8>>))))))))}, V125)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'case--lcheck-7056'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V10, V11) -> case V11 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V12, V13) -> fun (V14) -> begin (V43 = begin (V42 = (('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 (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V17, V18, V19)) end end end end end, fun (V20) -> fun (V21) -> fun (V22) -> V21 end end end, fun (V23) -> fun (V24) -> fun (V25) -> fun (V26) -> fun (V27) -> begin (V28 = (V25(V27))), begin (V29 = (V26(V27))), (V28(V29)) end end end end end end end}, fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> fun (V34) -> begin (V35 = (V32(V34))), ((V33(V35))(V34)) end end end end end end, fun (V36) -> fun (V37) -> fun (V38) -> begin (V39 = (V37(V38))), (V39(V38)) end end end end}, fun (V40) -> fun (V41) -> V41 end end}, V8))(V14))), {'Idris.Prelude.Types.Right', V42} end), case V43 of {'Idris.Prelude.Types.Left', E4} -> (fun (V44) -> {'Idris.Prelude.Types.Left', V44} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V45) -> begin (V46 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V8, V12))(V14))), case V46 of {'Idris.Prelude.Types.Left', E6} -> (fun (V47) -> {'Idris.Prelude.Types.Left', V47} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V48) -> begin (V49 = {'Idris.Builtin.MkPair', V10, {'Idris.Builtin.MkPair', V12, V13}}), case V48 of {'Idris.Core.Value.NBind', E10, E11, E12, E13} -> (fun (V50, V51, V52, V53) -> case V52 of {'Idris.Core.TT.Pi', E16, E17, E18, E19} -> (fun (V54, V55, V56, V57) -> begin (V58 = ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V55, V6))), begin (V59 = (('un--lcheck'(V0, V8, V7, V58, V5, V4, V1))(V14))), case V59 of {'Idris.Prelude.Types.Left', E20} -> (fun (V60) -> {'Idris.Prelude.Types.Left', V60} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V61) -> begin (V62 = {'Idris.Core.Value.NBind', V50, V51, {'Idris.Core.TT.Pi', V54, V55, V56, V57}, V53}), case V61 of {'Idris.Builtin.MkPair', E22, E23} -> (fun (V63, V64) -> case V64 of {'Idris.Builtin.MkPair', E24, E25} -> (fun (V65, V66) -> begin (V67 = (((V53(V45))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V4, V63))))(V14))), case V67 of {'Idris.Prelude.Types.Left', E26} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V69) -> begin (V79 = begin (V70 = {'Idris.Builtin.MkPair', V63, {'Idris.Builtin.MkPair', V65, V66}}), ('case--case block in case block in case block in lcheck-7229'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V10, V12, V13, V49, V45, V50, V51, V54, V56, V57, V55, V53, V62, V58, V63, V65, V66, V70, V69, ('Idris.Idris2.Prelude.Basics':'un--&&'(V5, fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V71) -> fun (V72) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V71, V72)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V73) -> fun (V74) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V73, V74)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V75) -> fun (V76) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V75, V76)) end end, fun (V77) -> fun (V78) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V77, V78)) end end}}, V55)) end)))) end), begin (V80 = ('Idris.Idris2.Core.Context':'un--getSession'(V8, V14))), case V80 of {'Idris.Prelude.Types.Left', E28} -> (fun (V81) -> {'Idris.Prelude.Types.Left', V81} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V82) -> begin (V109 = case case V82 of {'Idris.Core.Options.MkSessionOpts', E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51} -> (fun (V83, V84, V85, V86, V87, V88, V89, V90, V91, V92, V93, V94, V95, V96) -> V92 end(E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end of 0 -> begin (V97 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V8, V65))(V14))), 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.Idris2.Core.Normalise':'dn--un--convert_Convert__NF'(V8, V0, V45, V4, V99, V57, V14))), case V100 of {'Idris.Prelude.Types.Left', E32} -> (fun (V101) -> {'Idris.Prelude.Types.Left', V101} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V102) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(V102)) of 0 -> begin (V103 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V8, V0, V45, V4, V57, V14))), case V103 of {'Idris.Prelude.Types.Left', E34} -> (fun (V104) -> {'Idris.Prelude.Types.Left', V104} end(E34)); {'Idris.Prelude.Types.Right', E35} -> (fun (V105) -> begin (V106 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V8, V0, V45, V4, V99, V14))), case V106 of {'Idris.Prelude.Types.Left', E36} -> (fun (V107) -> {'Idris.Prelude.Types.Left', V107} end(E36)); {'Idris.Prelude.Types.Right', E37} -> (fun (V108) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.CantConvert', V0, V3, V4, V105, V108}, V14)) end(E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V109 of {'Idris.Prelude.Types.Left', E52} -> (fun (V110) -> {'Idris.Prelude.Types.Left', V110} end(E52)); {'Idris.Prelude.Types.Right', E53} -> (fun (V111) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.App', V3, V10, V79}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V8, V0, V45, V4, V69)), ('un--++'('erased', V13, V66))}}} end(E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E22, E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E16, E17, E18, E19)); _ -> begin (V112 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V12))(V14))), case V112 of {'Idris.Prelude.Types.Left', E14} -> (fun (V113) -> {'Idris.Prelude.Types.Left', V113} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V114) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V114)), <<" not a function type)"/utf8>>))))))))}, V14)) end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E10, E11, E12, E13)); {'Idris.Core.Value.NApp', E54, E55, E56} -> (fun (V115, V116, V117) -> case V116 of {'Idris.Core.Value.NRef', E59, E60} -> (fun (V118, V119) -> begin (V146 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V119, case V45 of {'Idris.Core.Context.MkDefs', 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, E86} -> (fun (V120, V121, V122, V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142, V143, V144, V145) -> V120 end(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, E86)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V14))), case V146 of {'Idris.Prelude.Types.Left', E87} -> (fun (V147) -> {'Idris.Prelude.Types.Left', V147} end(E87)); {'Idris.Prelude.Types.Right', E88} -> (fun (V148) -> case V148 of {'Idris.Prelude.Types.Just', E89} -> (fun (V149) -> begin (V150 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V12))(V14))), case V150 of {'Idris.Prelude.Types.Left', E90} -> (fun (V151) -> {'Idris.Prelude.Types.Left', V151} end(E90)); {'Idris.Prelude.Types.Right', E91} -> (fun (V152) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V152)), <<" not a function type)"/utf8>>))))))))}, V14)) end(E91)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E89)); _ -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V3, V119}, V14)) end end(E88)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E59, E60)); _ -> begin (V153 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V12))(V14))), case V153 of {'Idris.Prelude.Types.Left', E57} -> (fun (V154) -> {'Idris.Prelude.Types.Left', V154} end(E57)); {'Idris.Prelude.Types.Right', E58} -> (fun (V155) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V155)), <<" not a function type)"/utf8>>))))))))}, V14)) end(E58)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E54, E55, E56)); _ -> begin (V156 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V12))(V14))), case V156 of {'Idris.Prelude.Types.Left', E8} -> (fun (V157) -> {'Idris.Prelude.Types.Left', V157} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V158) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V158)), <<" not a function type)"/utf8>>))))))))}, V14)) end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E7)); _ -> ('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--lcheck-6982'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Core.Core.LinearMisuse', E0, E1, E2, E3} -> (fun (V11, V12, V13, V14) -> ('un--lcheckBinder'(V0, V9, V8, ('nested--8956-6121--in--un--rig'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9)), V6, V5, ('Idris.Idris2.Core.TT':'un--setMultiplicity'('erased', V3, ('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'())})))))) end(E0, E1, E2, E3)); _ -> fun (V19) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', V10, V19)) end end. 'case--case block in case block in lcheck-6886'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V3 of {'Idris.Core.TT.Lam', E0, E1, E2, E3} -> (fun (V14, V15, V16, V17) -> ('nested--8956-6123--in--un--eraseLinear'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V5)) end(E0, E1, E2, E3)); _ -> V5 end. 'case--case block in lcheck-6853'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of 0 -> case V3 of {'Idris.Core.TT.Lam', E0, E1, E2, E3} -> (fun (V15, V16, V17, V18) -> ('nested--8956-6123--in--un--eraseLinear'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V5)) end(E0, E1, E2, E3)); _ -> V5 end; 1 -> V5; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in lcheck-6732'(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 -> ('un--updateHoleUsage'([V1 | V0], V9, V8, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V20, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))), 0, ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V22) -> ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V22)) end, ('nested--8956-6122--in--un--getZeroes'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V0, V14)))), V15)); 1 -> fun (V23) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in lcheck-6601'(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 0 -> ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)); 1 -> V20; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheck-6526'(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.MkPair', E2, E3} -> (fun (V18, V19) -> fun (V20) -> begin (V49 = begin (V48 = (('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 (V21) -> fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V23, V24, V25)) end end end end end, fun (V26) -> fun (V27) -> fun (V28) -> V27 end end end, fun (V29) -> fun (V30) -> fun (V31) -> fun (V32) -> fun (V33) -> begin (V34 = (V31(V33))), begin (V35 = (V32(V33))), (V34(V35)) end end end end end end end}, fun (V36) -> fun (V37) -> fun (V38) -> fun (V39) -> fun (V40) -> begin (V41 = (V38(V40))), ((V39(V41))(V40)) end end end end end end, fun (V42) -> fun (V43) -> fun (V44) -> begin (V45 = (V43(V44))), (V45(V44)) end end end end}, fun (V46) -> fun (V47) -> V47 end end}, V9))(V20))), {'Idris.Prelude.Types.Right', V48} end), 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 = ('un--count'('erased', 0, V19))), begin (V62 = begin (V53 = {'Idris.Builtin.MkPair', V16, {'Idris.Builtin.MkPair', V18, V19}}), (('case--case block in case block in lcheck-6732'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V16, V18, V19, V53, V51, V52, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Prelude.Basics':'un--not'(V6)), fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V54) -> fun (V55) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V54, V55)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V56) -> fun (V57) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V56, V57)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V58) -> fun (V59) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V58, V59)) end end, fun (V60) -> fun (V61) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V60, V61)) end end}}, ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V3)))) end))))(V20)) end), case V62 of {'Idris.Prelude.Types.Left', E6} -> (fun (V63) -> {'Idris.Prelude.Types.Left', V63} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V64) -> begin (V74 = begin (V65 = {'Idris.Builtin.MkPair', V16, {'Idris.Builtin.MkPair', V18, V19}}), ('case--case block in case block in lcheck-6601'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V16, V18, V19, V65, V51, V52, V64, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V66) -> fun (V67) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V66, V67)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V68) -> fun (V69) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V68, V69)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V70) -> fun (V71) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V70, V71)) end end, fun (V72) -> fun (V73) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V72, V73)) end end}}, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V3)), ('nested--8956-6121--in--un--rig'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9)))))), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(V64, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V52, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))) end)) end)))) end), begin (V75 = case ('Idris.Idris2.Prelude.Basics':'un--not'(V6)) of 0 -> (('nested--8956-6124--in--un--checkUsageOK'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V74, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V3)), ('nested--8956-6121--in--un--rig'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9))))))(V20)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V75 of {'Idris.Prelude.Types.Left', E8} -> (fun (V76) -> {'Idris.Prelude.Types.Left', V76} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V77) -> begin (V106 = begin (V105 = (('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 (V78) -> fun (V79) -> fun (V80) -> fun (V81) -> fun (V82) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V80, V81, V82)) end end end end end, fun (V83) -> fun (V84) -> fun (V85) -> V84 end end end, fun (V86) -> fun (V87) -> fun (V88) -> fun (V89) -> fun (V90) -> begin (V91 = (V88(V90))), begin (V92 = (V89(V90))), (V91(V92)) end end end end end end end}, fun (V93) -> fun (V94) -> fun (V95) -> fun (V96) -> fun (V97) -> begin (V98 = (V95(V97))), ((V96(V98))(V97)) end end end end end end, fun (V99) -> fun (V100) -> fun (V101) -> begin (V102 = (V100(V101))), (V102(V101)) end end end end}, fun (V103) -> fun (V104) -> V104 end end}, V9))(V20))), {'Idris.Prelude.Types.Right', V105} end), case V106 of {'Idris.Prelude.Types.Left', E10} -> (fun (V107) -> {'Idris.Prelude.Types.Left', V107} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V108) -> (('un--discharge'(V0, V108, V5, V4, V1, V10, V11, V16, V18, ('un--++'('erased', V12, ('un--doneScope'('erased', 'erased', V19))))))(V20)) 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 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--lcheck-6478'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V11, V12) -> case V12 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V13, V14) -> begin (V16 = begin (V15 = {'Idris.Builtin.MkPair', V11, {'Idris.Builtin.MkPair', V13, V14}}), ('case--case block in lcheck-6853'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V11, V13, V14, V15, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V7, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--top_Top__ZeroOneOmega'()))))) end), fun (V17) -> begin (V18 = (('un--lcheck'([V1 | V0], V9, V8, ('nested--8956-6121--in--un--rig'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9)), V6, {'Idris.Core.Env.::', V11, V16}, V2))(V17))), case V18 of {'Idris.Prelude.Types.Left', E4} -> (fun (V19) -> {'Idris.Prelude.Types.Left', V19} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V20) -> begin (V21 = {'Idris.Builtin.MkPair', V11, {'Idris.Builtin.MkPair', V13, V14}}), case V20 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V22, V23) -> case V23 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V24, 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))(V17))), {'Idris.Prelude.Types.Right', V53} end), 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 = ('un--count'('erased', 0, V25))), begin (V67 = begin (V58 = {'Idris.Builtin.MkPair', V22, {'Idris.Builtin.MkPair', V24, V25}}), (('case--case block in case block in lcheck-6732'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V11, V13, V14, V21, V16, V22, V24, V25, V58, V56, V57, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Prelude.Basics':'un--not'(V6)), fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('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}}, ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V3)))) end))))(V17)) end), case V67 of {'Idris.Prelude.Types.Left', E12} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V69) -> begin (V79 = begin (V70 = {'Idris.Builtin.MkPair', V22, {'Idris.Builtin.MkPair', V24, V25}}), ('case--case block in case block in lcheck-6601'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V11, V13, V14, V21, V16, V22, V24, V25, V70, V56, V57, V69, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V71) -> fun (V72) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V71, V72)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V73) -> fun (V74) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V73, V74)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V75) -> fun (V76) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V75, V76)) end end, fun (V77) -> fun (V78) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V77, V78)) end end}}, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V3)), ('nested--8956-6121--in--un--rig'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9)))))), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(V69, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V57, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))) end)) end)))) end), begin (V80 = case ('Idris.Idris2.Prelude.Basics':'un--not'(V6)) of 0 -> (('nested--8956-6124--in--un--checkUsageOK'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V79, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V3)), ('nested--8956-6121--in--un--rig'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9))))))(V17)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), 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 (V111 = begin (V110 = (('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 (V83) -> fun (V84) -> fun (V85) -> fun (V86) -> fun (V87) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V85, V86, V87)) end end end end end, fun (V88) -> fun (V89) -> fun (V90) -> V89 end end end, fun (V91) -> fun (V92) -> fun (V93) -> fun (V94) -> fun (V95) -> begin (V96 = (V93(V95))), begin (V97 = (V94(V95))), (V96(V97)) end end end end end end end}, fun (V98) -> fun (V99) -> fun (V100) -> fun (V101) -> fun (V102) -> begin (V103 = (V100(V102))), ((V101(V103))(V102)) end end end end end end, fun (V104) -> fun (V105) -> fun (V106) -> begin (V107 = (V105(V106))), (V107(V106)) end end end end}, fun (V108) -> fun (V109) -> V109 end end}, V9))(V17))), {'Idris.Prelude.Types.Right', V110} end), case V111 of {'Idris.Prelude.Types.Left', E16} -> (fun (V112) -> {'Idris.Prelude.Types.Left', V112} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V113) -> (('un--discharge'(V0, V113, V5, V4, V1, V11, V13, V22, V24, ('un--++'('erased', V14, ('un--doneScope'('erased', 'erased', V25))))))(V17)) end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheck,eraseLinear-6370'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of 0 -> {'Idris.Core.Env.::', ('Idris.Idris2.Core.TT':'un--setMultiplicity'('erased', V13, ('Idris.Idris2.Algebra.Semiring':'un--erased'('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'())})))), ('nested--8956-6123--in--un--eraseLinear'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V12))}; 1 -> {'Idris.Core.Env.::', V13, ('nested--8956-6123--in--un--eraseLinear'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V12))}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheck,getZeroes-6259'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of 0 -> [0 | ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V15) -> ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V15)) end, ('nested--8956-6122--in--un--getZeroes'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V11, V12))))]; 1 -> ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V16) -> ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V16)) end, ('nested--8956-6122--in--un--getZeroes'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V11, V12)))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheck,rig-6188'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of 0 -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V11) -> fun (V12) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V11, V12)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V13) -> fun (V14) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V13, V14)) 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 (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'())})); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--lcheck,rig-6128'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V3 of {'Idris.Core.TT.Pi', E0, E1, E2, E3} -> (fun (V10, V11, V12, V13) -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V14, V15)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V16) -> fun (V17) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V16, V17)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})) end(E0, E1, E2, E3)); _ -> ('case--case block in lcheck,rig-6188'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V18) -> fun (V19) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V18, V19)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V20) -> fun (V21) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V20, V21)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V22) -> fun (V23) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V22, V23)) end end, fun (V24) -> fun (V25) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V24, V25)) end end}}, V7)))) end. 'case--case block in lcheck-5997'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V15, V16, V17, V18, V19) -> case V17 of {'Idris.Core.CaseTree.STerm', E5, E6} -> (fun (V20, V21) -> fun (V22) -> begin (V27 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V9, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V23) -> fun (V24) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V23, V24)) end end, fun (V25) -> fun (V26) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V25, V26)) end end}, V21, V22))), case V27 of {'Idris.Prelude.Types.Left', E7} -> (fun (V28) -> {'Idris.Prelude.Types.Left', V28} end(E7)); {'Idris.Prelude.Types.Right', E8} -> (fun (V29) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V16, V29))} end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E5, E6)); _ -> fun (V30) -> {'Idris.Prelude.Types.Right', <<""/utf8>>} end end end(E0, E1, E2, E3, E4)); _ -> fun (V31) -> {'Idris.Prelude.Types.Right', <<""/utf8>>} end end. 'case--case block in case block in lcheck-5911'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of {'Idris.Core.Context.Hole', E21, E22} -> (fun (V16, V17) -> ('nested--8956-5575--in--un--unusedHoleArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', 'erased', V1, case V11 of {'Idris.Core.Context.MkGlobalDef', E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43} -> (fun (V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38) -> V20 end(E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end(E21, E22)); _ -> case V11 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 (V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59) -> V41 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 end. 'case--case block in lcheck-5849'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V13 of 0 -> ('un--expandMeta'(V0, V9, V8, V7, V6, V5, V3, V2, case V11 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) -> V32 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, V1)); 1 -> begin (V58 = begin (V36 = 1), ('case--case block in case block in lcheck-5911'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V14, V36, case V11 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) -> V54 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)) end), fun (V59) -> begin (V60 = (('Idris.Idris2.Core.Normalise':'un--nf'(V9, V0, V10, V5, ('Idris.Idris2.Core.TT':'un--embed'('erased', 'erased', V58))))(V59))), case V60 of {'Idris.Prelude.Types.Left', E42} -> (fun (V61) -> {'Idris.Prelude.Types.Left', V61} end(E42)); {'Idris.Prelude.Types.Right', E43} -> (fun (V62) -> (('un--lcheckMeta'(V0, V9, V8, V7, V6, V5, V4, V3, V2, V1, [], V62))(V59)) end(E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in lcheck-5739'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V14, V15, V16, V17, V18) -> fun () -> 0 end end(E0, E1, E2, E3, E4)); _ -> fun () -> 1 end end. 'case--case block in lcheck-5677'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Core.TT.Erased', E0, E1} -> (fun (V14, V15) -> fun () -> 0 end end(E0, E1)); _ -> fun () -> 1 end end. 'case--lcheck-5640'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Prelude.Types.Just', E0} -> (fun (V12) -> begin (V65 = ('Idris.Idris2.Algebra.Semiring':'un--branchZero'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V13) -> fun (V14) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V13, V14)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V15) -> fun (V16) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V15, V16)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V17) -> fun (V18) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V17, V18)) end end, fun (V19) -> fun (V20) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V19, V20)) end end}}, begin (V21 = {'Idris.Prelude.Types.Just', V12}), ('case--case block in lcheck-5677'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V12, V21, case V12 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 (V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42) -> V24 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, begin (V43 = {'Idris.Prelude.Types.Just', V12}), ('case--case block in lcheck-5739'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V12, V43, case V12 of {'Idris.Core.Context.MkGlobalDef', E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42} -> (fun (V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64) -> V61 end(E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end, V7))), fun (V66) -> begin (V93 = ('Idris.Idris2.Core.Context.Log':'un--logC'(V9, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun (V67) -> begin (V90 = begin (V68 = {'Idris.Prelude.Types.Just', V12}), (('case--case block in lcheck-5997'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V12, V68, V65, case V12 of {'Idris.Core.Context.MkGlobalDef', E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63} -> (fun (V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89) -> V86 end(E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V67)) end), case V90 of {'Idris.Prelude.Types.Left', E64} -> (fun (V91) -> {'Idris.Prelude.Types.Left', V91} end(E64)); {'Idris.Prelude.Types.Right', E65} -> (fun (V92) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V7)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V3)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.FC':'dn--un--show_Show__FC'(V4)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"\x{a}"/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__String'(V92))))))))))))))} end(E65)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, V66))), case V93 of {'Idris.Prelude.Types.Left', E66} -> (fun (V94) -> {'Idris.Prelude.Types.Left', V94} end(E66)); {'Idris.Prelude.Types.Right', E67} -> (fun (V95) -> begin (V96 = {'Idris.Prelude.Types.Just', V12}), case V65 of 0 -> (('un--expandMeta'(V0, V9, V8, V7, V6, V5, V3, V2, case V12 of {'Idris.Core.Context.MkGlobalDef', E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88} -> (fun (V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111, V112, V113, V114, V115, V116, V117) -> V114 end(E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V1))(V66)); 1 -> begin (V140 = begin (V118 = 1), ('case--case block in case block in lcheck-5911'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V12, V96, V95, V118, case V12 of {'Idris.Core.Context.MkGlobalDef', E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109} -> (fun (V119, V120, V121, V122, V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139) -> V136 end(E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end), begin (V141 = (('Idris.Idris2.Core.Normalise':'un--nf'(V9, V0, V10, V5, ('Idris.Idris2.Core.TT':'un--embed'('erased', 'erased', V140))))(V66))), case V141 of {'Idris.Prelude.Types.Left', E110} -> (fun (V142) -> {'Idris.Prelude.Types.Left', V142} end(E110)); {'Idris.Prelude.Types.Right', E111} -> (fun (V143) -> (('un--lcheckMeta'(V0, V9, V8, V7, V6, V5, V4, V3, V2, V1, [], V143))(V66)) end(E111)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E67)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E0)); _ -> fun (V144) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V4, V3}, V144)) end end. 'case--lcheck,used-5456'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of 0 -> {'Idris.Core.LinearCheck.::', V0, {'Idris.Core.LinearCheck.Nil'}}; 1 -> {'Idris.Core.LinearCheck.Nil'}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--updateHoleUsage-5198'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V8, V9) -> case V8 of {'Idris.Core.TT.Ref', E2, E3, E4} -> (fun (V10, V11, V12) -> ('un--updateHoleUsageArgs'(V0, V6, V5, V4, V3, V2, V9)) end(E2, E3, E4)); _ -> case V9 of [] -> fun (V13) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('un--updateHoleUsageArgs'(V0, V6, V5, V4, V3, V2, [V8 | V9])) end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in updateHoleUsage-4991'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Core.Context.Hole', E0, E1} -> (fun (V14, V15) -> begin (V37 = case V11 of {'Idris.Core.Context.MkGlobalDef', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22} -> (fun (V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36) -> V18 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), fun (V38) -> begin (V39 = (('un--updateHoleType'('erased', V0, V9, V8, V7, V6, V5, V37, V1))(V38))), case V39 of {'Idris.Prelude.Types.Left', E23} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E23)); {'Idris.Prelude.Types.Right', E24} -> (fun (V41) -> begin (V42 = ('Idris.Idris2.Core.Context':'un--updateTy'(V9, V2, V41, V38))), case V42 of {'Idris.Prelude.Types.Left', E25} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E25)); {'Idris.Prelude.Types.Right', E26} -> (fun (V44) -> begin (V66 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'([], V9, <<"quantity.hole.update"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"New type of "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(case V11 of {'Idris.Core.Context.MkGlobalDef', E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47} -> (fun (V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65) -> V46 end(E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) end, V41, V38))), case V66 of {'Idris.Prelude.Types.Left', E48} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E48)); {'Idris.Prelude.Types.Right', E49} -> (fun (V68) -> begin (V111 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'([], V9, <<"quantity.hole.update"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Updated from "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(case V11 of {'Idris.Core.Context.MkGlobalDef', E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70} -> (fun (V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89) -> V70 end(E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) end, case V11 of {'Idris.Core.Context.MkGlobalDef', E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91} -> (fun (V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110) -> V92 end(E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V38))), case V111 of {'Idris.Prelude.Types.Left', E92} -> (fun (V112) -> {'Idris.Prelude.Types.Left', V112} end(E92)); {'Idris.Prelude.Types.Right', E93} -> (fun (V113) -> {'Idris.Prelude.Types.Right', 0} end(E93)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E49)); _ -> ('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 end end(E0, E1)); _ -> ('un--updateHoleUsageArgs'(V0, V9, V8, V7, V6, V5, V1)) end. 'case--updateHoleUsage-4964'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Prelude.Types.Just', E0} -> (fun (V12) -> begin (V13 = {'Idris.Prelude.Types.Just', V12}), ('case--case block in updateHoleUsage-4991'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V12, V13, case V12 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 (V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34) -> V31 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 () -> ('un--updateHoleUsageArgs'(V0, V9, V8, V7, V6, V5, V1)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in updateHoleType-4427'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> case V20 of 0 -> fun (V21) -> begin (V22 = (('un--updateHoleType'('erased', V1, V2, V19, V18, V17, V16, V12, V15))(V21))), case V22 of {'Idris.Prelude.Types.Left', E0} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V13, V11, {'Idris.Core.TT.Pi', V10, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V25) -> fun (V26) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V25, V26)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V27) -> fun (V28) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V27, V28)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V8, V7}, V24}} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V29) -> begin (V30 = (('un--updateHoleType'('erased', V1, V2, V19, V18, V17, V16, V12, 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) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V13, V11, {'Idris.Core.TT.Pi', V10, V9, V8, V7}, V32}} end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in updateHoleType-4285'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> case V18 of 0 -> V9; 1 -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('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--updateHoleType-4232'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> case V20 of 0 -> fun (V21) -> begin (V22 = (('un--updateHoleType'('erased', V1, V2, V19, 1, V17, V16, V12, V15))(V21))), case V22 of {'Idris.Prelude.Types.Left', E0} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V24) -> begin (V29 = case V18 of 0 -> V9; 1 -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V25) -> fun (V26) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V25, V26)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V27) -> fun (V28) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V27, V28)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V13, V11, {'Idris.Core.TT.Pi', V10, V29, V8, V7}, V24}} end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> ('case--case block in updateHoleType-4427'('erased', V1, V2, 'erased', V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, ('Idris.Idris2.Prelude.Types':'un--elem'('erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V30) -> fun (V31) -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V30, V31)) end end, fun (V32) -> fun (V33) -> ('Idris.Idris2.Prelude.Types':'dn--un--/=_Eq__Nat'(V32, V33)) end end}, V5, ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V34) -> ('Idris.Idris2.Core.TT':'un--varIdx'('erased', V34)) end, V16)))))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--localPrf-4128'(V0, V1, V2, V3, V4) -> (1 + V4). 'case--count-4078'(V0, V1, V2, V3, V4) -> case V4 of 0 -> ('Idris.Idris2.Prelude.Types':'dn--un--+_Num__Nat'(('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)), ('un--count'('erased', V3, V1)))); 1 -> ('un--count'('erased', V3, V1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8956-5342--in--un--used'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> ('case--lcheck,used-5456'(V0, 'erased', V2, 'erased', V4, V5, V6, V7, V8, V9, V10, V11, ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V12) -> fun (V13) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V12, V13)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V14, V15)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V16) -> fun (V17) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V16, V17)) end end, fun (V18) -> fun (V19) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V18, V19)) end end}}, V11)))). 'nested--8977-10257--in--un--updateUsage'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V8 of [E0 | E1] -> (fun (V10, V11) -> case V9 of {'Idris.Core.TT.Bind', E2, E3, E4, E5} -> (fun (V12, V13, V14, V15) -> case V14 of {'Idris.Core.TT.Pi', E6, E7, E8, E9} -> (fun (V16, V17, V18, V19) -> begin (V20 = ('nested--8977-10257--in--un--updateUsage'('erased', V1, V2, V3, V4, V5, V6, 'erased', V11, V15))), begin (V29 = case V10 of {'Idris.Core.LinearCheck.Use0'} -> (fun () -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('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'())})) end()); {'Idris.Core.LinearCheck.Use1'} -> (fun () -> ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V25) -> fun (V26) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V25, V26)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V27) -> fun (V28) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V27, V28)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})) end()); {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> V17 end()); {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> V17 end()); {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> V17 end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), {'Idris.Core.TT.Bind', V12, V13, {'Idris.Core.TT.Pi', V16, V29, V18, V19}, V20} end end end(E6, E7, E8, E9)); _ -> V9 end end(E2, E3, E4, E5)); _ -> V9 end end(E0, E1)); _ -> V9 end. 'nested--8956-5575--in--un--unusedHoleArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V12 of [E8 | E9] -> (fun (V14, V15) -> case V13 of {'Idris.Core.TT.Bind', E18, E19, E20, E21} -> (fun (V16, V17, V18, V19) -> case V18 of {'Idris.Core.TT.Pi', E30, E31, E32, E33} -> (fun (V20, V21, V22, V23) -> {'Idris.Core.TT.Bind', V16, V17, {'Idris.Core.TT.Pi', V20, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V24) -> fun (V25) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V24, V25)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V26) -> fun (V27) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V26, V27)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V22, V23}, ('nested--8956-5575--in--un--unusedHoleArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', 'erased', V15, V19))} end(E30, E31, E32, E33)); _ -> case V13 of {'Idris.Core.TT.Bind', E22, E23, E24, E25} -> (fun (V28, V29, V30, V31) -> case V30 of {'Idris.Core.TT.Let', E26, E27, E28, E29} -> (fun (V32, V33, V34, V35) -> {'Idris.Core.TT.Bind', V28, V29, {'Idris.Core.TT.Let', V32, V33, V34, V35}, ('nested--8956-5575--in--un--unusedHoleArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', 'erased', V12, V31))} end(E26, E27, E28, E29)); _ -> V13 end end(E22, E23, E24, E25)); _ -> V13 end end end(E18, E19, E20, E21)); _ -> case V13 of {'Idris.Core.TT.Bind', E10, E11, E12, E13} -> (fun (V36, V37, V38, V39) -> case V38 of {'Idris.Core.TT.Let', E14, E15, E16, E17} -> (fun (V40, V41, V42, V43) -> {'Idris.Core.TT.Bind', V36, V37, {'Idris.Core.TT.Let', V40, V41, V42, V43}, ('nested--8956-5575--in--un--unusedHoleArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', 'erased', V12, V39))} end(E14, E15, E16, E17)); _ -> V13 end end(E10, E11, E12, E13)); _ -> V13 end end end(E8, E9)); _ -> case V13 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V44, V45, V46, V47) -> case V46 of {'Idris.Core.TT.Let', E4, E5, E6, E7} -> (fun (V48, V49, V50, V51) -> {'Idris.Core.TT.Bind', V44, V45, {'Idris.Core.TT.Let', V48, V49, V50, V51}, ('nested--8956-5575--in--un--unusedHoleArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', 'erased', V12, V47))} end(E4, E5, E6, E7)); _ -> V13 end end(E0, E1, E2, E3)); _ -> V13 end end. 'nested--8981-10816--in--un--substMeta'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18) -> case V16 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V19, V20, V21, V22) -> case V21 of {'Idris.Core.TT.Lam', E4, E5, E6, E7} -> (fun (V23, V24, V25, V26) -> case V17 of [E8 | E9] -> (fun (V27, V28) -> ('nested--8981-10816--in--un--substMeta'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, [V20 | V14], V15, V22, V28, {'Idris.Core.TT.SubstEnv.::', V27, V18})) end(E8, E9)); _ -> case V17 of [] -> fun (V29) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT.SubstEnv':'un--substs'('erased', 'erased', V18, V16))} end; _ -> fun (V30) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Badly formed metavar solution "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V8)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'([], V5))))))))}, V30)) end end end end(E4, E5, E6, E7)); {'Idris.Core.TT.Let', E10, E11, E12, E13} -> (fun (V31, V32, V33, V34) -> ('nested--8981-10816--in--un--substMeta'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, ('Idris.Idris2.Core.TT.SubstEnv':'un--subst'('erased', 'erased', V33, V22)), V17, V18)) end(E10, E11, E12, E13)); _ -> case V17 of [] -> fun (V35) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT.SubstEnv':'un--substs'('erased', 'erased', V18, V16))} end; _ -> fun (V36) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Badly formed metavar solution "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V8)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'([], V5))))))))}, V36)) end end end end(E0, E1, E2, E3)); _ -> case V17 of [] -> fun (V37) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT.SubstEnv':'un--substs'('erased', 'erased', V18, V16))} end; _ -> fun (V38) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Badly formed metavar solution "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V8)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'([], V5))))))))}, V38)) end end end. 'nested--7454-3948--in--un--showAll'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.LinearCheck.Nil'} -> (fun () -> <<""/utf8>> end()); {'Idris.Core.LinearCheck.::', E0, E1} -> (fun (V4, V5) -> case V5 of {'Idris.Core.LinearCheck.Nil'} -> (fun () -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Var $ns)'('erased', V4)) end()); _ -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Var $ns)'('erased', V4)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<", "/utf8>>, ('dn--un--show_Show__(Usage $vars)'('erased', V5)))))) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8977-10258--in--un--rigSafe'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> begin (V10 = (('Idris.Idris2.Core.Context':'un--getFullName'(V6, V1))(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) -> case ('Idris.Idris2.Algebra.Preorder':'un--<'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Preorder.dn--un--__mkPreorder', fun (V13) -> fun (V14) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--<=_Preorder__ZeroOneOmega'(V13, V14)) end end, fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderRefl_Preorder__ZeroOneOmega'(V15)) end, fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> fun (V20) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderTrans_Preorder__ZeroOneOmega'(V16, V17, V18, V19, V20)) end end end end end}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V21) -> fun (V22) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V21, V22)) end end, fun (V23) -> fun (V24) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V23, V24)) end end}}, V7, V8)) of 0 -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.LinearMisuse', V4, V12, V7, V8}, V9)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'nested--8956-5341--in--un--rigSafe'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case ('Idris.Idris2.Algebra.Preorder':'un--<'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Preorder.dn--un--__mkPreorder', fun (V13) -> fun (V14) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--<=_Preorder__ZeroOneOmega'(V13, V14)) end end, fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderRefl_Preorder__ZeroOneOmega'(V15)) end, fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> fun (V20) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--preorderTrans_Preorder__ZeroOneOmega'(V16, V17, V18, V19, V20)) end end end end end}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V21) -> fun (V22) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V21, V22)) end end, fun (V23) -> fun (V24) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V23, V24)) end end}}, V11, V12)) of 0 -> fun (V25) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.LinearMisuse', V5, ('nested--8956-5340--in--un--getName'(V0, 'erased', V2, 'erased', V4, V5, V6, V7, V8, V9, V10, 'erased', V0, V2, 'erased')), V11, V12}, V25)) end; 1 -> fun (V26) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8956-6121--in--un--rig'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V3 of {'Idris.Core.TT.Pi', E0, E1, E2, E3} -> (fun (V10, V11, V12, V13) -> ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V14, V15)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V16) -> fun (V17) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V16, V17)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})) end(E0, E1, E2, E3)); _ -> ('case--case block in lcheck,rig-6188'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V18) -> fun (V19) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V18, V19)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V20) -> fun (V21) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V20, V21)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V22) -> fun (V23) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V22, V23)) end end, fun (V24) -> fun (V25) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V24, V25)) end end}}, V7)))) end. 'nested--8972-8768--in--un--isLocArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of [] -> 1; [E0 | E1] -> (fun (V9, V10) -> case V9 of {'Idris.Core.TT.Local', E2, E3, E4} -> (fun (V11, V12, V13) -> ('Idris.Idris2.Prelude.Basics':'un--||'(('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V13, ('Idris.Idris2.Core.TT':'un--varIdx'('erased', V7)))), fun () -> ('nested--8972-8768--in--un--isLocArg'(V0, V1, V2, V3, V4, V5, 'erased', V7, V10)) end)) end(E2, E3, E4)); {'Idris.Core.TT.As', E5, E6, E7, E8} -> (fun (V14, V15, V16, V17) -> ('nested--8972-8768--in--un--isLocArg'(V0, V1, V2, V3, V4, V5, 'erased', V7, [V16 | [V17 | V10]])) end(E5, E6, E7, E8)); _ -> ('nested--8972-8768--in--un--isLocArg'(V0, V1, V2, V3, V4, V5, 'erased', V7, V10)) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8956-6122--in--un--getZeroes'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V10 of [] -> case V11 of {'Idris.Core.Env.Nil'} -> (fun () -> [] end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; [E0 | E1] -> (fun (V12, V13) -> case V11 of {'Idris.Core.Env.::', E2, E3} -> (fun (V14, V15) -> ('case--lcheck,getZeroes-6259'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V12, V13, V15, V14, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V16) -> fun (V17) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V16, V17)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V18) -> fun (V19) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V18, V19)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V20) -> fun (V21) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V20, V21)) end end, fun (V22) -> fun (V23) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V22, V23)) end end}}, ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V14)))))) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8972-8770--in--un--getPUsage'(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 (V15 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V8, V5, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), <<"Env"/utf8>>, V10, V14))), case V15 of {'Idris.Prelude.Types.Left', E6} -> (fun (V16) -> {'Idris.Prelude.Types.Left', V16} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V17) -> begin (V18 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V8, V5, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<"LHS"/utf8>> end, V12, V14))), case V18 of {'Idris.Prelude.Types.Left', E8} -> (fun (V19) -> {'Idris.Prelude.Types.Left', V19} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V20) -> begin (V21 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V8, V5, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Linear check in case RHS"/utf8>> end, V13, V14))), case V21 of {'Idris.Prelude.Types.Left', E10} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V23) -> begin (V24 = (('un--lcheck'(V8, V5, V4, V2, 1, V10, V13))(V14))), case V24 of {'Idris.Prelude.Types.Left', E12} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V26) -> case V26 of {'Idris.Builtin.MkPair', E14, E15} -> (fun (V27, V28) -> case V28 of {'Idris.Builtin.MkPair', E16, E17} -> (fun (V29, V30) -> begin (V31 = (('Idris.Idris2.Core.Context.Log':'un--log'(V5, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Used: "/utf8>>, ('dn--un--show_Show__(Usage $vars)'('erased', V30)))) end))(V14))), case V31 of {'Idris.Prelude.Types.Left', E18} -> (fun (V32) -> {'Idris.Prelude.Types.Left', V32} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V33) -> begin (V34 = ('Idris.Idris2.Core.TT':'un--getArgs'('erased', V12))), begin (V35 = (('nested--8972-8769--in--un--checkEnvUsage'(V0, V1, V2, V3, V4, V5, [], V8, V2, V10, V30, V34, V27))(V14))), case V35 of {'Idris.Prelude.Types.Left', E20} -> (fun (V36) -> {'Idris.Prelude.Types.Left', V36} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V37) -> begin (V38 = (('nested--8972-8766--in--un--getCaseUsage'(V0, V1, V2, V3, V4, V5, 'erased', V8, V6, V10, V34, V30, V13))(V14))), case V38 of {'Idris.Prelude.Types.Left', E22} -> (fun (V39) -> {'Idris.Prelude.Types.Left', V39} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V40) -> begin (V56 = (('Idris.Idris2.Core.Context.Log':'un--log'(V5, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Arg usage: "/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__(List $a)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V41) -> ('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 (V42) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V42)) end, fun (V43) -> fun (V44) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V43, V44)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V45) -> ('dn--un--show_Show__ArgUsage'(V45)) end, fun (V46) -> fun (V47) -> ('dn--un--showPrec_Show__ArgUsage'(V46, V47)) end end}}, V41)) end, fun (V48) -> fun (V49) -> ('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 (V50) -> ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V50)) end, fun (V51) -> fun (V52) -> ('Idris.Idris2.Core.Name':'dn--un--showPrec_Show__Name'(V51, V52)) end end}, {'Idris.Prelude.Show.dn--un--__mkShow', fun (V53) -> ('dn--un--show_Show__ArgUsage'(V53)) end, fun (V54) -> fun (V55) -> ('dn--un--showPrec_Show__ArgUsage'(V54, V55)) end end}}, V48, V49)) end end}, V40)))) end))(V14))), case V56 of {'Idris.Prelude.Types.Left', E24} -> (fun (V57) -> {'Idris.Prelude.Types.Left', V57} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V58) -> {'Idris.Prelude.Types.Right', V40} 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(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E14, E15)); _ -> ('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(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--8956-5340--in--un--getName'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V12 of 0 -> case V13 of [E2 | E3] -> (fun (V15, V16) -> V15 end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; _ -> begin (V17 = (V12 - 1)), case V13 of [E0 | E1] -> (fun (V18, V19) -> ('nested--8956-5340--in--un--getName'(V0, 'erased', V2, 'erased', V4, V5, V6, V7, V8, V9, V10, 'erased', V17, V19, 'erased')) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end. 'nested--8972-8766--in--un--getCaseUsage'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V10 of [E10 | E11] -> (fun (V13, V14) -> case V13 of {'Idris.Core.TT.As', E22, E23, E24, E25} -> (fun (V15, V16, V17, V18) -> ('nested--8972-8766--in--un--getCaseUsage'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, [V18 | V14], V11, V12)) end(E22, E23, E24, E25)); _ -> case V8 of {'Idris.Core.TT.Bind', E12, E13, E14, E15} -> (fun (V19, V20, V21, V22) -> case V21 of {'Idris.Core.TT.Pi', E16, E17, E18, E19} -> (fun (V23, V24, V25, V26) -> case V10 of [E20 | E21] -> (fun (V27, V28) -> ('case--getArgUsage,getCaseUsage-8945'(V0, V1, V2, V3, V4, V5, 'erased', V7, V19, V23, V25, V26, V24, V20, V22, V27, V28, V12, V11, V9, ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('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}}, V24)))) end(E20, E21)); _ -> fun (V37) -> {'Idris.Prelude.Types.Right', []} end end end(E16, E17, E18, E19)); _ -> fun (V38) -> {'Idris.Prelude.Types.Right', []} end end end(E12, E13, E14, E15)); _ -> fun (V39) -> {'Idris.Prelude.Types.Right', []} end end end end(E10, E11)); _ -> case V8 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V40, V41, V42, V43) -> case V42 of {'Idris.Core.TT.Pi', E4, E5, E6, E7} -> (fun (V44, V45, V46, V47) -> case V10 of [E8 | E9] -> (fun (V48, V49) -> ('case--getArgUsage,getCaseUsage-8945'(V0, V1, V2, V3, V4, V5, 'erased', V7, V40, V44, V46, V47, V45, V41, V43, V48, V49, V12, V11, V9, ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V50) -> fun (V51) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V50, V51)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V52) -> fun (V53) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V52, V53)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V54) -> fun (V55) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V54, V55)) end end, fun (V56) -> fun (V57) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V56, V57)) end end}}, V45)))) end(E8, E9)); _ -> fun (V58) -> {'Idris.Prelude.Types.Right', []} end end end(E4, E5, E6, E7)); _ -> fun (V59) -> {'Idris.Prelude.Types.Right', []} end end end(E0, E1, E2, E3)); _ -> fun (V60) -> {'Idris.Prelude.Types.Right', []} end end end. 'nested--8956-6123--in--un--eraseLinear'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Core.Env.Nil'} -> (fun () -> {'Idris.Core.Env.Nil'} end()); {'Idris.Core.Env.::', E0, E1} -> (fun (V12, V13) -> ('case--lcheck,eraseLinear-6370'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', 'erased', V13, V12, ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V14, V15)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V16) -> fun (V17) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V16, V17)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V18) -> fun (V19) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V18, V19)) end end, fun (V20) -> fun (V21) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V20, V21)) end end}}, ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V12)))))) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--12924-8818--in--un--elseCase'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> begin (V21 = (('nested--8972-8766--in--un--getCaseUsage'(V0, V1, V2, V3, V4, V5, 'erased', V7, V14, V19, V16, V18, V17))(V20))), case V21 of {'Idris.Prelude.Types.Left', E0} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V23) -> {'Idris.Prelude.Types.Right', ('case--getArgUsage,getCaseUsage,elseCase-8837'(V0, V1, V2, V3, V4, V5, 'erased', V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V23, ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V24) -> fun (V25) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V24, V25)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V26) -> fun (V27) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V26, V27)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V28) -> fun (V29) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V28, V29)) end end, fun (V30) -> fun (V31) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V30, V31)) end end}}, V12))))} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'nested--8972-8772--in--un--combineUsages'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V6 of [] -> case V7 of [] -> fun (V8) -> {'Idris.Prelude.Types.Right', []} end; _ -> fun (V9) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Argument usage lists inconsistent"/utf8>>}, V9)) end end; [E0 | E1] -> (fun (V10, V11) -> case V7 of [E2 | E3] -> (fun (V12, V13) -> fun (V14) -> begin (V15 = (('nested--8972-8771--in--un--combineUsage'(V0, V1, V2, V3, V4, V5, V10, V12))(V14))), case V15 of {'Idris.Prelude.Types.Left', E4} -> (fun (V16) -> {'Idris.Prelude.Types.Left', V16} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V17) -> begin (V18 = (('nested--8972-8772--in--un--combineUsages'(V0, V1, V2, V3, V4, V5, V11, V13))(V14))), case V18 of {'Idris.Prelude.Types.Left', E6} -> (fun (V19) -> {'Idris.Prelude.Types.Left', V19} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V20) -> {'Idris.Prelude.Types.Right', [V17 | V20]} end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> fun (V21) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Argument usage lists inconsistent"/utf8>>}, V21)) end end end(E0, E1)); _ -> fun (V22) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', <<"Argument usage lists inconsistent"/utf8>>}, V22)) end end. 'nested--8972-8771--in--un--combineUsage'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V6 of {'Idris.Builtin.MkPair', E62, E63} -> (fun (V8, V9) -> case V9 of {'Idris.Core.LinearCheck.Use0'} -> (fun () -> case V7 of {'Idris.Builtin.MkPair', E188, E189} -> (fun (V10, V11) -> case V11 of {'Idris.Core.LinearCheck.Use1'} -> (fun () -> fun (V12) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Inconsistent usage of "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V8)), <<" in case branches"/utf8>>))))}, V12)) end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E220, E221} -> (fun (V13, V14) -> case V14 of {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V13, {'Idris.Core.LinearCheck.UseAny'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E236, E237} -> (fun (V16, V17) -> case V17 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V18) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V16, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E244, E245} -> (fun (V19, V20) -> case V20 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V21) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V19, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E248, E249} -> (fun (V22, V23) -> case V23 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V22, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E250, E251} -> (fun (V25, V26) -> case V26 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V27) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V25, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V28) -> {'Idris.Prelude.Types.Right', V6} end end end(E250, E251)); _ -> fun (V29) -> {'Idris.Prelude.Types.Right', V6} end end end end(E248, E249)); _ -> case V7 of {'Idris.Builtin.MkPair', E246, E247} -> (fun (V30, V31) -> case V31 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V32) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V30, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V33) -> {'Idris.Prelude.Types.Right', V6} end end end(E246, E247)); _ -> fun (V34) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E244, E245)); _ -> case V6 of {'Idris.Builtin.MkPair', E240, E241} -> (fun (V35, V36) -> case V36 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V37) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V35, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E242, E243} -> (fun (V38, V39) -> case V39 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V40) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V38, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V41) -> {'Idris.Prelude.Types.Right', V6} end end end(E242, E243)); _ -> fun (V42) -> {'Idris.Prelude.Types.Right', V6} end end end end(E240, E241)); _ -> case V7 of {'Idris.Builtin.MkPair', E238, E239} -> (fun (V43, V44) -> case V44 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V45) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V43, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V46) -> {'Idris.Prelude.Types.Right', V6} end end end(E238, E239)); _ -> fun (V47) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E236, E237)); _ -> case V7 of {'Idris.Builtin.MkPair', E228, E229} -> (fun (V48, V49) -> case V49 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V50) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V48, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E232, E233} -> (fun (V51, V52) -> case V52 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V53) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V51, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E234, E235} -> (fun (V54, V55) -> case V55 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V56) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V54, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V57) -> {'Idris.Prelude.Types.Right', V6} end end end(E234, E235)); _ -> fun (V58) -> {'Idris.Prelude.Types.Right', V6} end end end end(E232, E233)); _ -> case V7 of {'Idris.Builtin.MkPair', E230, E231} -> (fun (V59, V60) -> case V60 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V61) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V59, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V62) -> {'Idris.Prelude.Types.Right', V6} end end end(E230, E231)); _ -> fun (V63) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E228, E229)); _ -> case V6 of {'Idris.Builtin.MkPair', E224, E225} -> (fun (V64, V65) -> case V65 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V66) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V64, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E226, E227} -> (fun (V67, V68) -> case V68 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V69) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V67, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V70) -> {'Idris.Prelude.Types.Right', V6} end end end(E226, E227)); _ -> fun (V71) -> {'Idris.Prelude.Types.Right', V6} end end end end(E224, E225)); _ -> case V7 of {'Idris.Builtin.MkPair', E222, E223} -> (fun (V72, V73) -> case V73 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V74) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V72, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V75) -> {'Idris.Prelude.Types.Right', V6} end end end(E222, E223)); _ -> fun (V76) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end(E220, E221)); _ -> case V6 of {'Idris.Builtin.MkPair', E204, E205} -> (fun (V77, V78) -> case V78 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V79) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V77, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E212, E213} -> (fun (V80, V81) -> case V81 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V82) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V80, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E216, E217} -> (fun (V83, V84) -> case V84 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V85) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V83, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E218, E219} -> (fun (V86, V87) -> case V87 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V88) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V86, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V89) -> {'Idris.Prelude.Types.Right', V6} end end end(E218, E219)); _ -> fun (V90) -> {'Idris.Prelude.Types.Right', V6} end end end end(E216, E217)); _ -> case V7 of {'Idris.Builtin.MkPair', E214, E215} -> (fun (V91, V92) -> case V92 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V93) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V91, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V94) -> {'Idris.Prelude.Types.Right', V6} end end end(E214, E215)); _ -> fun (V95) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E212, E213)); _ -> case V6 of {'Idris.Builtin.MkPair', E208, E209} -> (fun (V96, V97) -> case V97 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V98) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V96, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E210, E211} -> (fun (V99, V100) -> case V100 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V101) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V99, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V102) -> {'Idris.Prelude.Types.Right', V6} end end end(E210, E211)); _ -> fun (V103) -> {'Idris.Prelude.Types.Right', V6} end end end end(E208, E209)); _ -> case V7 of {'Idris.Builtin.MkPair', E206, E207} -> (fun (V104, V105) -> case V105 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V106) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V104, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V107) -> {'Idris.Prelude.Types.Right', V6} end end end(E206, E207)); _ -> fun (V108) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E204, E205)); _ -> case V7 of {'Idris.Builtin.MkPair', E196, E197} -> (fun (V109, V110) -> case V110 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V111) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V109, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E200, E201} -> (fun (V112, V113) -> case V113 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V114) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V112, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E202, E203} -> (fun (V115, V116) -> case V116 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V117) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V115, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V118) -> {'Idris.Prelude.Types.Right', V6} end end end(E202, E203)); _ -> fun (V119) -> {'Idris.Prelude.Types.Right', V6} end end end end(E200, E201)); _ -> case V7 of {'Idris.Builtin.MkPair', E198, E199} -> (fun (V120, V121) -> case V121 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V122) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V120, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V123) -> {'Idris.Prelude.Types.Right', V6} end end end(E198, E199)); _ -> fun (V124) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E196, E197)); _ -> case V6 of {'Idris.Builtin.MkPair', E192, E193} -> (fun (V125, V126) -> case V126 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V127) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V125, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E194, E195} -> (fun (V128, V129) -> case V129 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V130) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V128, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V131) -> {'Idris.Prelude.Types.Right', V6} end end end(E194, E195)); _ -> fun (V132) -> {'Idris.Prelude.Types.Right', V6} end end end end(E192, E193)); _ -> case V7 of {'Idris.Builtin.MkPair', E190, E191} -> (fun (V133, V134) -> case V134 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V135) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V133, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V136) -> {'Idris.Prelude.Types.Right', V6} end end end(E190, E191)); _ -> fun (V137) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end end(E188, E189)); _ -> case V7 of {'Idris.Builtin.MkPair', E156, E157} -> (fun (V138, V139) -> case V139 of {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> fun (V140) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V138, {'Idris.Core.LinearCheck.UseAny'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E172, E173} -> (fun (V141, V142) -> case V142 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V143) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V141, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E180, E181} -> (fun (V144, V145) -> case V145 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V146) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V144, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E184, E185} -> (fun (V147, V148) -> case V148 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V149) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V147, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E186, E187} -> (fun (V150, V151) -> case V151 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V152) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V150, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V153) -> {'Idris.Prelude.Types.Right', V6} end end end(E186, E187)); _ -> fun (V154) -> {'Idris.Prelude.Types.Right', V6} end end end end(E184, E185)); _ -> case V7 of {'Idris.Builtin.MkPair', E182, E183} -> (fun (V155, V156) -> case V156 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V157) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V155, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V158) -> {'Idris.Prelude.Types.Right', V6} end end end(E182, E183)); _ -> fun (V159) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E180, E181)); _ -> case V6 of {'Idris.Builtin.MkPair', E176, E177} -> (fun (V160, V161) -> case V161 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V162) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V160, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E178, E179} -> (fun (V163, V164) -> case V164 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V165) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V163, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V166) -> {'Idris.Prelude.Types.Right', V6} end end end(E178, E179)); _ -> fun (V167) -> {'Idris.Prelude.Types.Right', V6} end end end end(E176, E177)); _ -> case V7 of {'Idris.Builtin.MkPair', E174, E175} -> (fun (V168, V169) -> case V169 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V170) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V168, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V171) -> {'Idris.Prelude.Types.Right', V6} end end end(E174, E175)); _ -> fun (V172) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E172, E173)); _ -> case V7 of {'Idris.Builtin.MkPair', E164, E165} -> (fun (V173, V174) -> case V174 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V175) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V173, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E168, E169} -> (fun (V176, V177) -> case V177 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V178) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V176, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E170, E171} -> (fun (V179, V180) -> case V180 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V181) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V179, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V182) -> {'Idris.Prelude.Types.Right', V6} end end end(E170, E171)); _ -> fun (V183) -> {'Idris.Prelude.Types.Right', V6} end end end end(E168, E169)); _ -> case V7 of {'Idris.Builtin.MkPair', E166, E167} -> (fun (V184, V185) -> case V185 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V186) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V184, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V187) -> {'Idris.Prelude.Types.Right', V6} end end end(E166, E167)); _ -> fun (V188) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E164, E165)); _ -> case V6 of {'Idris.Builtin.MkPair', E160, E161} -> (fun (V189, V190) -> case V190 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V191) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V189, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E162, E163} -> (fun (V192, V193) -> case V193 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V194) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V192, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V195) -> {'Idris.Prelude.Types.Right', V6} end end end(E162, E163)); _ -> fun (V196) -> {'Idris.Prelude.Types.Right', V6} end end end end(E160, E161)); _ -> case V7 of {'Idris.Builtin.MkPair', E158, E159} -> (fun (V197, V198) -> case V198 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V199) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V197, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V200) -> {'Idris.Prelude.Types.Right', V6} end end end(E158, E159)); _ -> fun (V201) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end(E156, E157)); _ -> case V6 of {'Idris.Builtin.MkPair', E140, E141} -> (fun (V202, V203) -> case V203 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V204) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V202, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E148, E149} -> (fun (V205, V206) -> case V206 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V207) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V205, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E152, E153} -> (fun (V208, V209) -> case V209 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V210) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V208, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E154, E155} -> (fun (V211, V212) -> case V212 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V213) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V211, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V214) -> {'Idris.Prelude.Types.Right', V6} end end end(E154, E155)); _ -> fun (V215) -> {'Idris.Prelude.Types.Right', V6} end end end end(E152, E153)); _ -> case V7 of {'Idris.Builtin.MkPair', E150, E151} -> (fun (V216, V217) -> case V217 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V218) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V216, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V219) -> {'Idris.Prelude.Types.Right', V6} end end end(E150, E151)); _ -> fun (V220) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E148, E149)); _ -> case V6 of {'Idris.Builtin.MkPair', E144, E145} -> (fun (V221, V222) -> case V222 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V223) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V221, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E146, E147} -> (fun (V224, V225) -> case V225 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V226) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V224, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V227) -> {'Idris.Prelude.Types.Right', V6} end end end(E146, E147)); _ -> fun (V228) -> {'Idris.Prelude.Types.Right', V6} end end end end(E144, E145)); _ -> case V7 of {'Idris.Builtin.MkPair', E142, E143} -> (fun (V229, V230) -> case V230 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V231) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V229, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V232) -> {'Idris.Prelude.Types.Right', V6} end end end(E142, E143)); _ -> fun (V233) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E140, E141)); _ -> case V7 of {'Idris.Builtin.MkPair', E132, E133} -> (fun (V234, V235) -> case V235 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V236) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V234, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E136, E137} -> (fun (V237, V238) -> case V238 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V239) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V237, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E138, E139} -> (fun (V240, V241) -> case V241 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V242) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V240, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V243) -> {'Idris.Prelude.Types.Right', V6} end end end(E138, E139)); _ -> fun (V244) -> {'Idris.Prelude.Types.Right', V6} end end end end(E136, E137)); _ -> case V7 of {'Idris.Builtin.MkPair', E134, E135} -> (fun (V245, V246) -> case V246 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V247) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V245, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V248) -> {'Idris.Prelude.Types.Right', V6} end end end(E134, E135)); _ -> fun (V249) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E132, E133)); _ -> case V6 of {'Idris.Builtin.MkPair', E128, E129} -> (fun (V250, V251) -> case V251 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V252) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V250, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E130, E131} -> (fun (V253, V254) -> case V254 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V255) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V253, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V256) -> {'Idris.Prelude.Types.Right', V6} end end end(E130, E131)); _ -> fun (V257) -> {'Idris.Prelude.Types.Right', V6} end end end end(E128, E129)); _ -> case V7 of {'Idris.Builtin.MkPair', E126, E127} -> (fun (V258, V259) -> case V259 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V260) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V258, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V261) -> {'Idris.Prelude.Types.Right', V6} end end end(E126, E127)); _ -> fun (V262) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end end()); {'Idris.Core.LinearCheck.Use1'} -> (fun () -> case V7 of {'Idris.Builtin.MkPair', E314, E315} -> (fun (V263, V264) -> case V264 of {'Idris.Core.LinearCheck.Use0'} -> (fun () -> fun (V265) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V3, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Inconsistent usage of "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V8)), <<" in case branches"/utf8>>))))}, V265)) end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E346, E347} -> (fun (V266, V267) -> case V267 of {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> fun (V268) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V266, {'Idris.Core.LinearCheck.UseAny'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E362, E363} -> (fun (V269, V270) -> case V270 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V271) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V269, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E370, E371} -> (fun (V272, V273) -> case V273 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V274) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V272, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E374, E375} -> (fun (V275, V276) -> case V276 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V277) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V275, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E376, E377} -> (fun (V278, V279) -> case V279 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V280) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V278, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V281) -> {'Idris.Prelude.Types.Right', V6} end end end(E376, E377)); _ -> fun (V282) -> {'Idris.Prelude.Types.Right', V6} end end end end(E374, E375)); _ -> case V7 of {'Idris.Builtin.MkPair', E372, E373} -> (fun (V283, V284) -> case V284 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V285) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V283, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V286) -> {'Idris.Prelude.Types.Right', V6} end end end(E372, E373)); _ -> fun (V287) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E370, E371)); _ -> case V6 of {'Idris.Builtin.MkPair', E366, E367} -> (fun (V288, V289) -> case V289 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V290) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V288, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E368, E369} -> (fun (V291, V292) -> case V292 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V293) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V291, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V294) -> {'Idris.Prelude.Types.Right', V6} end end end(E368, E369)); _ -> fun (V295) -> {'Idris.Prelude.Types.Right', V6} end end end end(E366, E367)); _ -> case V7 of {'Idris.Builtin.MkPair', E364, E365} -> (fun (V296, V297) -> case V297 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V298) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V296, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V299) -> {'Idris.Prelude.Types.Right', V6} end end end(E364, E365)); _ -> fun (V300) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E362, E363)); _ -> case V7 of {'Idris.Builtin.MkPair', E354, E355} -> (fun (V301, V302) -> case V302 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V303) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V301, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E358, E359} -> (fun (V304, V305) -> case V305 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V306) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V304, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E360, E361} -> (fun (V307, V308) -> case V308 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V309) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V307, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V310) -> {'Idris.Prelude.Types.Right', V6} end end end(E360, E361)); _ -> fun (V311) -> {'Idris.Prelude.Types.Right', V6} end end end end(E358, E359)); _ -> case V7 of {'Idris.Builtin.MkPair', E356, E357} -> (fun (V312, V313) -> case V313 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V314) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V312, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V315) -> {'Idris.Prelude.Types.Right', V6} end end end(E356, E357)); _ -> fun (V316) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E354, E355)); _ -> case V6 of {'Idris.Builtin.MkPair', E350, E351} -> (fun (V317, V318) -> case V318 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V319) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V317, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E352, E353} -> (fun (V320, V321) -> case V321 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V322) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V320, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V323) -> {'Idris.Prelude.Types.Right', V6} end end end(E352, E353)); _ -> fun (V324) -> {'Idris.Prelude.Types.Right', V6} end end end end(E350, E351)); _ -> case V7 of {'Idris.Builtin.MkPair', E348, E349} -> (fun (V325, V326) -> case V326 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V327) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V325, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V328) -> {'Idris.Prelude.Types.Right', V6} end end end(E348, E349)); _ -> fun (V329) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end(E346, E347)); _ -> case V6 of {'Idris.Builtin.MkPair', E330, E331} -> (fun (V330, V331) -> case V331 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V332) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V330, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E338, E339} -> (fun (V333, V334) -> case V334 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V335) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V333, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E342, E343} -> (fun (V336, V337) -> case V337 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V338) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V336, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E344, E345} -> (fun (V339, V340) -> case V340 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V341) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V339, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V342) -> {'Idris.Prelude.Types.Right', V6} end end end(E344, E345)); _ -> fun (V343) -> {'Idris.Prelude.Types.Right', V6} end end end end(E342, E343)); _ -> case V7 of {'Idris.Builtin.MkPair', E340, E341} -> (fun (V344, V345) -> case V345 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V346) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V344, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V347) -> {'Idris.Prelude.Types.Right', V6} end end end(E340, E341)); _ -> fun (V348) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E338, E339)); _ -> case V6 of {'Idris.Builtin.MkPair', E334, E335} -> (fun (V349, V350) -> case V350 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V351) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V349, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E336, E337} -> (fun (V352, V353) -> case V353 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V354) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V352, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V355) -> {'Idris.Prelude.Types.Right', V6} end end end(E336, E337)); _ -> fun (V356) -> {'Idris.Prelude.Types.Right', V6} end end end end(E334, E335)); _ -> case V7 of {'Idris.Builtin.MkPair', E332, E333} -> (fun (V357, V358) -> case V358 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V359) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V357, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V360) -> {'Idris.Prelude.Types.Right', V6} end end end(E332, E333)); _ -> fun (V361) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E330, E331)); _ -> case V7 of {'Idris.Builtin.MkPair', E322, E323} -> (fun (V362, V363) -> case V363 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V364) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V362, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E326, E327} -> (fun (V365, V366) -> case V366 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V367) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V365, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E328, E329} -> (fun (V368, V369) -> case V369 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V370) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V368, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V371) -> {'Idris.Prelude.Types.Right', V6} end end end(E328, E329)); _ -> fun (V372) -> {'Idris.Prelude.Types.Right', V6} end end end end(E326, E327)); _ -> case V7 of {'Idris.Builtin.MkPair', E324, E325} -> (fun (V373, V374) -> case V374 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V375) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V373, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V376) -> {'Idris.Prelude.Types.Right', V6} end end end(E324, E325)); _ -> fun (V377) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E322, E323)); _ -> case V6 of {'Idris.Builtin.MkPair', E318, E319} -> (fun (V378, V379) -> case V379 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V380) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V378, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E320, E321} -> (fun (V381, V382) -> case V382 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V383) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V381, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V384) -> {'Idris.Prelude.Types.Right', V6} end end end(E320, E321)); _ -> fun (V385) -> {'Idris.Prelude.Types.Right', V6} end end end end(E318, E319)); _ -> case V7 of {'Idris.Builtin.MkPair', E316, E317} -> (fun (V386, V387) -> case V387 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V388) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V386, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V389) -> {'Idris.Prelude.Types.Right', V6} end end end(E316, E317)); _ -> fun (V390) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end end(E314, E315)); _ -> case V7 of {'Idris.Builtin.MkPair', E282, E283} -> (fun (V391, V392) -> case V392 of {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> fun (V393) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V391, {'Idris.Core.LinearCheck.UseAny'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E298, E299} -> (fun (V394, V395) -> case V395 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V396) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V394, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E306, E307} -> (fun (V397, V398) -> case V398 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V399) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V397, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E310, E311} -> (fun (V400, V401) -> case V401 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V402) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V400, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E312, E313} -> (fun (V403, V404) -> case V404 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V405) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V403, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V406) -> {'Idris.Prelude.Types.Right', V6} end end end(E312, E313)); _ -> fun (V407) -> {'Idris.Prelude.Types.Right', V6} end end end end(E310, E311)); _ -> case V7 of {'Idris.Builtin.MkPair', E308, E309} -> (fun (V408, V409) -> case V409 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V410) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V408, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V411) -> {'Idris.Prelude.Types.Right', V6} end end end(E308, E309)); _ -> fun (V412) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E306, E307)); _ -> case V6 of {'Idris.Builtin.MkPair', E302, E303} -> (fun (V413, V414) -> case V414 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V415) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V413, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E304, E305} -> (fun (V416, V417) -> case V417 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V418) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V416, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V419) -> {'Idris.Prelude.Types.Right', V6} end end end(E304, E305)); _ -> fun (V420) -> {'Idris.Prelude.Types.Right', V6} end end end end(E302, E303)); _ -> case V7 of {'Idris.Builtin.MkPair', E300, E301} -> (fun (V421, V422) -> case V422 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V423) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V421, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V424) -> {'Idris.Prelude.Types.Right', V6} end end end(E300, E301)); _ -> fun (V425) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E298, E299)); _ -> case V7 of {'Idris.Builtin.MkPair', E290, E291} -> (fun (V426, V427) -> case V427 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V428) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V426, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E294, E295} -> (fun (V429, V430) -> case V430 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V431) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V429, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E296, E297} -> (fun (V432, V433) -> case V433 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V434) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V432, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V435) -> {'Idris.Prelude.Types.Right', V6} end end end(E296, E297)); _ -> fun (V436) -> {'Idris.Prelude.Types.Right', V6} end end end end(E294, E295)); _ -> case V7 of {'Idris.Builtin.MkPair', E292, E293} -> (fun (V437, V438) -> case V438 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V439) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V437, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V440) -> {'Idris.Prelude.Types.Right', V6} end end end(E292, E293)); _ -> fun (V441) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E290, E291)); _ -> case V6 of {'Idris.Builtin.MkPair', E286, E287} -> (fun (V442, V443) -> case V443 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V444) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V442, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E288, E289} -> (fun (V445, V446) -> case V446 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V447) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V445, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V448) -> {'Idris.Prelude.Types.Right', V6} end end end(E288, E289)); _ -> fun (V449) -> {'Idris.Prelude.Types.Right', V6} end end end end(E286, E287)); _ -> case V7 of {'Idris.Builtin.MkPair', E284, E285} -> (fun (V450, V451) -> case V451 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V452) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V450, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V453) -> {'Idris.Prelude.Types.Right', V6} end end end(E284, E285)); _ -> fun (V454) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end(E282, E283)); _ -> case V6 of {'Idris.Builtin.MkPair', E266, E267} -> (fun (V455, V456) -> case V456 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V457) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V455, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E274, E275} -> (fun (V458, V459) -> case V459 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V460) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V458, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E278, E279} -> (fun (V461, V462) -> case V462 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V463) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V461, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E280, E281} -> (fun (V464, V465) -> case V465 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V466) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V464, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V467) -> {'Idris.Prelude.Types.Right', V6} end end end(E280, E281)); _ -> fun (V468) -> {'Idris.Prelude.Types.Right', V6} end end end end(E278, E279)); _ -> case V7 of {'Idris.Builtin.MkPair', E276, E277} -> (fun (V469, V470) -> case V470 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V471) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V469, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V472) -> {'Idris.Prelude.Types.Right', V6} end end end(E276, E277)); _ -> fun (V473) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E274, E275)); _ -> case V6 of {'Idris.Builtin.MkPair', E270, E271} -> (fun (V474, V475) -> case V475 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V476) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V474, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E272, E273} -> (fun (V477, V478) -> case V478 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V479) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V477, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V480) -> {'Idris.Prelude.Types.Right', V6} end end end(E272, E273)); _ -> fun (V481) -> {'Idris.Prelude.Types.Right', V6} end end end end(E270, E271)); _ -> case V7 of {'Idris.Builtin.MkPair', E268, E269} -> (fun (V482, V483) -> case V483 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V484) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V482, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V485) -> {'Idris.Prelude.Types.Right', V6} end end end(E268, E269)); _ -> fun (V486) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E266, E267)); _ -> case V7 of {'Idris.Builtin.MkPair', E258, E259} -> (fun (V487, V488) -> case V488 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V489) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V487, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E262, E263} -> (fun (V490, V491) -> case V491 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V492) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V490, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E264, E265} -> (fun (V493, V494) -> case V494 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V495) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V493, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V496) -> {'Idris.Prelude.Types.Right', V6} end end end(E264, E265)); _ -> fun (V497) -> {'Idris.Prelude.Types.Right', V6} end end end end(E262, E263)); _ -> case V7 of {'Idris.Builtin.MkPair', E260, E261} -> (fun (V498, V499) -> case V499 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V500) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V498, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V501) -> {'Idris.Prelude.Types.Right', V6} end end end(E260, E261)); _ -> fun (V502) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E258, E259)); _ -> case V6 of {'Idris.Builtin.MkPair', E254, E255} -> (fun (V503, V504) -> case V504 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V505) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V503, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E256, E257} -> (fun (V506, V507) -> case V507 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V508) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V506, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V509) -> {'Idris.Prelude.Types.Right', V6} end end end(E256, E257)); _ -> fun (V510) -> {'Idris.Prelude.Types.Right', V6} end end end end(E254, E255)); _ -> case V7 of {'Idris.Builtin.MkPair', E252, E253} -> (fun (V511, V512) -> case V512 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V513) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V511, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V514) -> {'Idris.Prelude.Types.Right', V6} end end end(E252, E253)); _ -> fun (V515) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end end()); {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> fun (V516) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V8, {'Idris.Core.LinearCheck.UseAny'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E94, E95} -> (fun (V517, V518) -> case V518 of {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> fun (V519) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V517, {'Idris.Core.LinearCheck.UseAny'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E110, E111} -> (fun (V520, V521) -> case V521 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V522) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V520, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E118, E119} -> (fun (V523, V524) -> case V524 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V525) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V523, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E122, E123} -> (fun (V526, V527) -> case V527 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V528) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V526, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E124, E125} -> (fun (V529, V530) -> case V530 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V531) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V529, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V532) -> {'Idris.Prelude.Types.Right', V6} end end end(E124, E125)); _ -> fun (V533) -> {'Idris.Prelude.Types.Right', V6} end end end end(E122, E123)); _ -> case V7 of {'Idris.Builtin.MkPair', E120, E121} -> (fun (V534, V535) -> case V535 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V536) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V534, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V537) -> {'Idris.Prelude.Types.Right', V6} end end end(E120, E121)); _ -> fun (V538) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E118, E119)); _ -> case V6 of {'Idris.Builtin.MkPair', E114, E115} -> (fun (V539, V540) -> case V540 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V541) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V539, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E116, E117} -> (fun (V542, V543) -> case V543 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V544) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V542, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V545) -> {'Idris.Prelude.Types.Right', V6} end end end(E116, E117)); _ -> fun (V546) -> {'Idris.Prelude.Types.Right', V6} end end end end(E114, E115)); _ -> case V7 of {'Idris.Builtin.MkPair', E112, E113} -> (fun (V547, V548) -> case V548 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V549) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V547, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V550) -> {'Idris.Prelude.Types.Right', V6} end end end(E112, E113)); _ -> fun (V551) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E110, E111)); _ -> case V7 of {'Idris.Builtin.MkPair', E102, E103} -> (fun (V552, V553) -> case V553 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V554) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V552, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E106, E107} -> (fun (V555, V556) -> case V556 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V557) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V555, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E108, E109} -> (fun (V558, V559) -> case V559 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V560) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V558, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V561) -> {'Idris.Prelude.Types.Right', V6} end end end(E108, E109)); _ -> fun (V562) -> {'Idris.Prelude.Types.Right', V6} end end end end(E106, E107)); _ -> case V7 of {'Idris.Builtin.MkPair', E104, E105} -> (fun (V563, V564) -> case V564 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V565) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V563, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V566) -> {'Idris.Prelude.Types.Right', V6} end end end(E104, E105)); _ -> fun (V567) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E102, E103)); _ -> case V6 of {'Idris.Builtin.MkPair', E98, E99} -> (fun (V568, V569) -> case V569 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V570) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V568, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E100, E101} -> (fun (V571, V572) -> case V572 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V573) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V571, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V574) -> {'Idris.Prelude.Types.Right', V6} end end end(E100, E101)); _ -> fun (V575) -> {'Idris.Prelude.Types.Right', V6} end end end end(E98, E99)); _ -> case V7 of {'Idris.Builtin.MkPair', E96, E97} -> (fun (V576, V577) -> case V577 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V578) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V576, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V579) -> {'Idris.Prelude.Types.Right', V6} end end end(E96, E97)); _ -> fun (V580) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end(E94, E95)); _ -> case V6 of {'Idris.Builtin.MkPair', E78, E79} -> (fun (V581, V582) -> case V582 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V583) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V581, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E86, E87} -> (fun (V584, V585) -> case V585 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V586) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V584, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E90, E91} -> (fun (V587, V588) -> case V588 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V589) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V587, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E92, E93} -> (fun (V590, V591) -> case V591 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V592) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V590, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V593) -> {'Idris.Prelude.Types.Right', V6} end end end(E92, E93)); _ -> fun (V594) -> {'Idris.Prelude.Types.Right', V6} end end end end(E90, E91)); _ -> case V7 of {'Idris.Builtin.MkPair', E88, E89} -> (fun (V595, V596) -> case V596 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V597) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V595, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V598) -> {'Idris.Prelude.Types.Right', V6} end end end(E88, E89)); _ -> fun (V599) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E86, E87)); _ -> case V6 of {'Idris.Builtin.MkPair', E82, E83} -> (fun (V600, V601) -> case V601 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V602) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V600, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E84, E85} -> (fun (V603, V604) -> case V604 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V605) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V603, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V606) -> {'Idris.Prelude.Types.Right', V6} end end end(E84, E85)); _ -> fun (V607) -> {'Idris.Prelude.Types.Right', V6} end end end end(E82, E83)); _ -> case V7 of {'Idris.Builtin.MkPair', E80, E81} -> (fun (V608, V609) -> case V609 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V610) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V608, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V611) -> {'Idris.Prelude.Types.Right', V6} end end end(E80, E81)); _ -> fun (V612) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E78, E79)); _ -> case V7 of {'Idris.Builtin.MkPair', E70, E71} -> (fun (V613, V614) -> case V614 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V615) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V613, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E74, E75} -> (fun (V616, V617) -> case V617 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V618) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V616, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E76, E77} -> (fun (V619, V620) -> case V620 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V621) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V619, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V622) -> {'Idris.Prelude.Types.Right', V6} end end end(E76, E77)); _ -> fun (V623) -> {'Idris.Prelude.Types.Right', V6} end end end end(E74, E75)); _ -> case V7 of {'Idris.Builtin.MkPair', E72, E73} -> (fun (V624, V625) -> case V625 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V626) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V624, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V627) -> {'Idris.Prelude.Types.Right', V6} end end end(E72, E73)); _ -> fun (V628) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E70, E71)); _ -> case V6 of {'Idris.Builtin.MkPair', E66, E67} -> (fun (V629, V630) -> case V630 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V631) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V629, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E68, E69} -> (fun (V632, V633) -> case V633 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V634) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V632, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V635) -> {'Idris.Prelude.Types.Right', V6} end end end(E68, E69)); _ -> fun (V636) -> {'Idris.Prelude.Types.Right', V6} end end end end(E66, E67)); _ -> case V7 of {'Idris.Builtin.MkPair', E64, E65} -> (fun (V637, V638) -> case V638 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V639) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V637, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V640) -> {'Idris.Prelude.Types.Right', V6} end end end(E64, E65)); _ -> fun (V641) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end end(E62, E63)); _ -> case V7 of {'Idris.Builtin.MkPair', E30, E31} -> (fun (V642, V643) -> case V643 of {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> fun (V644) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V642, {'Idris.Core.LinearCheck.UseAny'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E46, E47} -> (fun (V645, V646) -> case V646 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V647) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V645, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E54, E55} -> (fun (V648, V649) -> case V649 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V650) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V648, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E58, E59} -> (fun (V651, V652) -> case V652 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V653) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V651, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E60, E61} -> (fun (V654, V655) -> case V655 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V656) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V654, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V657) -> {'Idris.Prelude.Types.Right', V6} end end end(E60, E61)); _ -> fun (V658) -> {'Idris.Prelude.Types.Right', V6} end end end end(E58, E59)); _ -> case V7 of {'Idris.Builtin.MkPair', E56, E57} -> (fun (V659, V660) -> case V660 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V661) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V659, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V662) -> {'Idris.Prelude.Types.Right', V6} end end end(E56, E57)); _ -> fun (V663) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E54, E55)); _ -> case V6 of {'Idris.Builtin.MkPair', E50, E51} -> (fun (V664, V665) -> case V665 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V666) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V664, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E52, E53} -> (fun (V667, V668) -> case V668 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V669) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V667, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V670) -> {'Idris.Prelude.Types.Right', V6} end end end(E52, E53)); _ -> fun (V671) -> {'Idris.Prelude.Types.Right', V6} end end end end(E50, E51)); _ -> case V7 of {'Idris.Builtin.MkPair', E48, E49} -> (fun (V672, V673) -> case V673 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V674) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V672, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V675) -> {'Idris.Prelude.Types.Right', V6} end end end(E48, E49)); _ -> fun (V676) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E46, E47)); _ -> case V7 of {'Idris.Builtin.MkPair', E38, E39} -> (fun (V677, V678) -> case V678 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V679) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V677, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E42, E43} -> (fun (V680, V681) -> case V681 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V682) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V680, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E44, E45} -> (fun (V683, V684) -> case V684 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V685) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V683, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V686) -> {'Idris.Prelude.Types.Right', V6} end end end(E44, E45)); _ -> fun (V687) -> {'Idris.Prelude.Types.Right', V6} end end end end(E42, E43)); _ -> case V7 of {'Idris.Builtin.MkPair', E40, E41} -> (fun (V688, V689) -> case V689 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V690) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V688, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V691) -> {'Idris.Prelude.Types.Right', V6} end end end(E40, E41)); _ -> fun (V692) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E38, E39)); _ -> case V6 of {'Idris.Builtin.MkPair', E34, E35} -> (fun (V693, V694) -> case V694 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V695) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V693, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E36, E37} -> (fun (V696, V697) -> case V697 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V698) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V696, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V699) -> {'Idris.Prelude.Types.Right', V6} end end end(E36, E37)); _ -> fun (V700) -> {'Idris.Prelude.Types.Right', V6} end end end end(E34, E35)); _ -> case V7 of {'Idris.Builtin.MkPair', E32, E33} -> (fun (V701, V702) -> case V702 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V703) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V701, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V704) -> {'Idris.Prelude.Types.Right', V6} end end end(E32, E33)); _ -> fun (V705) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end(E30, E31)); _ -> case V6 of {'Idris.Builtin.MkPair', E14, E15} -> (fun (V706, V707) -> case V707 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V708) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V706, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E22, E23} -> (fun (V709, V710) -> case V710 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V711) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V709, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E26, E27} -> (fun (V712, V713) -> case V713 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V714) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V712, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E28, E29} -> (fun (V715, V716) -> case V716 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V717) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V715, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V718) -> {'Idris.Prelude.Types.Right', V6} end end end(E28, E29)); _ -> fun (V719) -> {'Idris.Prelude.Types.Right', V6} end end end end(E26, E27)); _ -> case V7 of {'Idris.Builtin.MkPair', E24, E25} -> (fun (V720, V721) -> case V721 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V722) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V720, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V723) -> {'Idris.Prelude.Types.Right', V6} end end end(E24, E25)); _ -> fun (V724) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E22, E23)); _ -> case V6 of {'Idris.Builtin.MkPair', E18, E19} -> (fun (V725, V726) -> case V726 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V727) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V725, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E20, E21} -> (fun (V728, V729) -> case V729 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V730) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V728, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V731) -> {'Idris.Prelude.Types.Right', V6} end end end(E20, E21)); _ -> fun (V732) -> {'Idris.Prelude.Types.Right', V6} end end end end(E18, E19)); _ -> case V7 of {'Idris.Builtin.MkPair', E16, E17} -> (fun (V733, V734) -> case V734 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V735) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V733, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V736) -> {'Idris.Prelude.Types.Right', V6} end end end(E16, E17)); _ -> fun (V737) -> {'Idris.Prelude.Types.Right', V6} end end end end end end(E14, E15)); _ -> case V7 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V738, V739) -> case V739 of {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> fun (V740) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V738, {'Idris.Core.LinearCheck.UseKeep'}}} end end()); _ -> case V6 of {'Idris.Builtin.MkPair', E10, E11} -> (fun (V741, V742) -> case V742 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V743) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V741, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E12, E13} -> (fun (V744, V745) -> case V745 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V746) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V744, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V747) -> {'Idris.Prelude.Types.Right', V6} end end end(E12, E13)); _ -> fun (V748) -> {'Idris.Prelude.Types.Right', V6} end end end end(E10, E11)); _ -> case V7 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V749, V750) -> case V750 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V751) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V749, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V752) -> {'Idris.Prelude.Types.Right', V6} end end end(E8, E9)); _ -> fun (V753) -> {'Idris.Prelude.Types.Right', V6} end end end end end(E6, E7)); _ -> case V6 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V754, V755) -> case V755 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V756) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V754, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> case V7 of {'Idris.Builtin.MkPair', E4, E5} -> (fun (V757, V758) -> case V758 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V759) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V757, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V760) -> {'Idris.Prelude.Types.Right', V6} end end end(E4, E5)); _ -> fun (V761) -> {'Idris.Prelude.Types.Right', V6} end end end end(E2, E3)); _ -> case V7 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V762, V763) -> case V763 of {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> fun (V764) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V762, {'Idris.Core.LinearCheck.UseUnknown'}}} end end()); _ -> fun (V765) -> {'Idris.Prelude.Types.Right', V6} end end end(E0, E1)); _ -> fun (V766) -> {'Idris.Prelude.Types.Right', V6} end end end end end end end. 'nested--8972-8773--in--un--combine'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of [] -> fun (V7) -> {'Idris.Prelude.Types.Right', []} end; [E0 | E1] -> (fun (V8, V9) -> case V9 of [] -> fun (V10) -> {'Idris.Prelude.Types.Right', V8} end; _ -> fun (V11) -> begin (V12 = (('nested--8972-8773--in--un--combine'(V0, V1, V2, V3, V4, V5, V9))(V11))), case V12 of {'Idris.Prelude.Types.Left', E2} -> (fun (V13) -> {'Idris.Prelude.Types.Left', V13} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V14) -> (('nested--8972-8772--in--un--combineUsages'(V0, V1, V2, V3, V4, V5, V8, V14))(V11)) end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--15788-11348--in--un--checkUsageOK'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V13) -> fun (V14) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V13, V14)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V15) -> fun (V16) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V15, V16)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V17) -> fun (V18) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V17, V18)) end end, fun (V19) -> fun (V20) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V19, V20)) end end}}, V12)), fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--/=_Eq__Nat'(V11, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)))) end)) of 0 -> fun (V21) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.LinearUsed', V8, V11, V0}, V21)) end; 1 -> fun (V22) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8972-8767--in--un--checkUsageOK'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V11) -> fun (V12) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V11, V12)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V13) -> fun (V14) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V13, V14)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V15) -> fun (V16) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V15, V16)) end end, fun (V17) -> fun (V18) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V17, V18)) end end}}, V10)), fun () -> ('Idris.Idris2.Prelude.Basics':'un--||'(('Idris.Idris2.Prelude.Basics':'un--&&'(V9, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un-->_Ord__Nat'(V7, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)))) end)), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Prelude.Basics':'un--not'(V9)), fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--/=_Eq__Nat'(V7, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)))) end)) end)) end)) of 0 -> fun (V19) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.LinearUsed', V6, V7, V8}, V19)) end; 1 -> fun (V20) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8956-6124--in--un--checkUsageOK'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V12) -> fun (V13) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V12, V13)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V14, V15)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V16) -> fun (V17) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V16, V17)) end end, fun (V18) -> fun (V19) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V18, V19)) end end}}, V11)), fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--/=_Eq__Nat'(V10, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(1)))) end)) of 0 -> fun (V20) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.LinearUsed', V4, V10, V1}, V20)) end; 1 -> fun (V21) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--8972-8769--in--un--checkEnvUsage'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V7 of [] -> case V9 of {'Idris.Core.Env.Nil'} -> (fun () -> fun (V13) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; [E0 | E1] -> (fun (V14, V15) -> case V9 of {'Idris.Core.Env.::', E2, E3} -> (fun (V16, V17) -> begin (V18 = ('un--localPrf'('erased', 'erased', V6))), begin (V19 = ('un--count'('erased', ('Idris.Idris2.Core.TT':'un--varIdx'('erased', V18)), V10))), fun (V20) -> begin (V29 = (('case--getArgUsage,checkEnvUsage-9656'(V0, V1, V2, V3, V4, V5, V14, V15, V17, V16, V6, V12, V11, V10, V8, V18, V19, ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'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'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V25) -> fun (V26) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V25, V26)) end end, fun (V27) -> fun (V28) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V27, V28)) end end}}, ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V16))))))(V20))), 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 = ('case--getArgUsage,checkEnvUsage-9542'(V0, V1, V2, V3, V4, V5, V14, V15, V17, V16, V6, V12, V11, V10, V8, V18, V19, V31, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'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'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V36) -> fun (V37) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V36, V37)) end end, fun (V38) -> fun (V39) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V38, V39)) end end}}, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V16)), V8)))), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(V31, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V19, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))) end)) end))))), begin (V41 = (('nested--8972-8767--in--un--checkUsageOK'(V0, V1, V2, V3, V4, V5, ('Idris.Idris2.Core.TT':'un--getLoc'('erased', ('Idris.Idris2.Core.TT':'un--binderType'('erased', V16)))), V40, V14, ('nested--8972-8768--in--un--isLocArg'(V0, V1, V2, V3, V4, V5, 'erased', V18, V11)), ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V16)), V8))))(V20))), case V41 of {'Idris.Prelude.Types.Left', E6} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V43) -> (('nested--8972-8769--in--un--checkEnvUsage'(V0, V1, V2, V3, V4, V5, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V6, [V14 | []])), V15, V8, V17, V10, V11, V12))(V20)) end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'dn--un--show_Show__ArgUsage'(V0) -> case V0 of {'Idris.Core.LinearCheck.UseAny'} -> (fun () -> <<"any"/utf8>> end()); {'Idris.Core.LinearCheck.Use0'} -> (fun () -> <<"0"/utf8>> end()); {'Idris.Core.LinearCheck.Use1'} -> (fun () -> <<"1"/utf8>> end()); {'Idris.Core.LinearCheck.UseKeep'} -> (fun () -> <<"keep"/utf8>> end()); {'Idris.Core.LinearCheck.UseUnknown'} -> (fun () -> <<"unknown"/utf8>> end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'dn--un--show_Show__(Usage $vars)'(V0, V1) -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"["/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('nested--7454-3948--in--un--showAll'('erased', V1, 'erased', V1)), <<"]"/utf8>>)))). 'dn--un--showPrec_Show__ArgUsage'(V0, V1) -> ('dn--un--show_Show__ArgUsage'(V1)). 'dn--un--showPrec_Show__(Usage $vars)'(V0, V1, V2) -> ('dn--un--show_Show__(Usage $vars)'('erased', V2)). 'dn--un--__Impl_Show_ArgUsage'() -> {'Idris.Prelude.Show.dn--un--__mkShow', fun (V0) -> ('dn--un--show_Show__ArgUsage'(V0)) end, fun (V1) -> fun (V2) -> ('dn--un--showPrec_Show__ArgUsage'(V1, V2)) end end}. 'dn--un--__Impl_Show_(Usage $vars)'(V0) -> {'Idris.Prelude.Show.dn--un--__mkShow', fun (V1) -> ('dn--un--show_Show__(Usage $vars)'('erased', V1)) end, fun (V2) -> fun (V3) -> ('dn--un--showPrec_Show__(Usage $vars)'('erased', V2, V3)) end end}. 'un--updateHoleUsageArgs'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of [] -> fun (V7) -> {'Idris.Prelude.Types.Right', 1} end; [E0 | E1] -> (fun (V8, V9) -> fun (V10) -> begin (V11 = (('un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V8))(V10))), case V11 of {'Idris.Prelude.Types.Left', E2} -> (fun (V12) -> {'Idris.Prelude.Types.Left', V12} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V13) -> begin (V14 = (('un--updateHoleUsageArgs'(V0, V1, V2, V3, V4, V5, V9))(V10))), case V14 of {'Idris.Prelude.Types.Left', E4} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V16) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--||'(V13, fun () -> V16 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. 'un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of {'Idris.Core.TT.Bind', E74, E75, E76, E77} -> (fun (V7, V8, V9, V10) -> case V9 of {'Idris.Core.TT.Let', E78, E79, E80, E81} -> (fun (V11, V12, V13, V14) -> fun (V15) -> begin (V16 = (('un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V13))(V15))), case V16 of {'Idris.Prelude.Types.Left', E82} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E82)); {'Idris.Prelude.Types.Right', E83} -> (fun (V18) -> begin (V20 = (('un--updateHoleUsage'([V8 | V0], V1, V2, V3, (1 + V4), ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V19) -> ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V19)) end, V5)), V10))(V15))), case V20 of {'Idris.Prelude.Types.Left', E84} -> (fun (V21) -> {'Idris.Prelude.Types.Left', V21} end(E84)); {'Idris.Prelude.Types.Right', E85} -> (fun (V22) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--||'(V18, fun () -> V22 end))} end(E85)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E83)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E78, E79, E80, E81)); _ -> ('un--updateHoleUsage'([V8 | V0], V1, V2, V3, (1 + V4), ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V23) -> ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V23)) end, V5)), V10)) end end(E74, E75, E76, E77)); _ -> case V6 of {'Idris.Core.TT.Meta', E0, E1, E2, E3} -> (fun (V24, V25, V26, V27) -> fun (V28) -> begin (V57 = begin (V56 = (('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 (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}, V1))(V28))), {'Idris.Prelude.Types.Right', V56} end), 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 (V86 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'({'Idris.Core.Name.Resolved', V26}, case V59 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 (V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85) -> V60 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))(V28))), case V86 of {'Idris.Prelude.Types.Left', E32} -> (fun (V87) -> {'Idris.Prelude.Types.Left', V87} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V88) -> case V88 of {'Idris.Prelude.Types.Just', E34} -> (fun (V89) -> begin (V90 = {'Idris.Prelude.Types.Just', V89}), (('case--case block in updateHoleUsage-4991'(V0, V27, V26, V25, V24, V5, V4, V3, V2, V1, V59, V89, V90, case V89 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 (V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111) -> V108 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))(V28)) end end(E34)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> (('un--updateHoleUsageArgs'(V0, V1, V2, V3, V4, V5, V27))(V28)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3)); {'Idris.Core.TT.As', E56, E57, E58, E59} -> (fun (V112, V113, V114, V115) -> fun (V116) -> begin (V117 = (('un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V114))(V116))), case V117 of {'Idris.Prelude.Types.Left', E60} -> (fun (V118) -> {'Idris.Prelude.Types.Left', V118} end(E60)); {'Idris.Prelude.Types.Right', E61} -> (fun (V119) -> begin (V120 = (('un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V114))(V116))), case V120 of {'Idris.Prelude.Types.Left', E62} -> (fun (V121) -> {'Idris.Prelude.Types.Left', V121} end(E62)); {'Idris.Prelude.Types.Right', E63} -> (fun (V122) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--||'(V119, fun () -> V122 end))} end(E63)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E61)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E56, E57, E58, E59)); {'Idris.Core.TT.TDelayed', E64, E65, E66} -> (fun (V123, V124, V125) -> ('un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V125)) end(E64, E65, E66)); {'Idris.Core.TT.TDelay', E67, E68, E69, E70} -> (fun (V126, V127, V128, V129) -> ('un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V129)) end(E67, E68, E69, E70)); {'Idris.Core.TT.TForce', E71, E72, E73} -> (fun (V130, V131, V132) -> ('un--updateHoleUsage'(V0, V1, V2, V3, V4, V5, V132)) end(E71, E72, E73)); _ -> ('case--updateHoleUsage-5198'(V0, V6, V5, V4, V3, V2, V1, ('Idris.Idris2.Core.TT':'un--getFnArgs'('erased', V6)))) end end. 'un--updateHoleType'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V7 of {'Idris.Core.TT.Bind', E2, E3, E4, E5} -> (fun (V9, V10, V11, V12) -> case V11 of {'Idris.Core.TT.Pi', E8, E9, E10, E11} -> (fun (V13, V14, V15, V16) -> case V8 of [E14 | E15] -> (fun (V17, V18) -> case V17 of {'Idris.Core.TT.Local', E20, E21, E22} -> (fun (V19, V20, V21) -> ('case--updateHoleType-4232'('erased', V1, V2, 'erased', V19, V21, 'erased', V16, V15, V14, V13, V10, V12, V9, V20, V18, V6, V5, V4, V3, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(('Idris.Idris2.Core.TT':'un--varIdx'('erased', V5)), V21)))) end(E20, E21, E22)); _ -> fun (V22) -> begin (V23 = (('un--updateHoleUsage'(V1, V2, V3, 1, V5, V6, V17))(V22))), case V23 of {'Idris.Prelude.Types.Left', E16} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V25) -> begin (V26 = (('un--updateHoleType'('erased', V1, V2, V3, V4, V5, V6, V12, V18))(V22))), case V26 of {'Idris.Prelude.Types.Left', E18} -> (fun (V27) -> {'Idris.Prelude.Types.Left', V27} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V28) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V9, V10, {'Idris.Core.TT.Pi', V13, V14, V15, V16}, V28}} end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E14, E15)); _ -> fun (V29) -> begin (V30 = (('un--updateHoleUsageArgs'(V1, V2, V3, 1, V5, V6, V8))(V29))), case V30 of {'Idris.Prelude.Types.Left', E12} -> (fun (V31) -> {'Idris.Prelude.Types.Left', V31} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V32) -> {'Idris.Prelude.Types.Right', V7} end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E8, E9, E10, E11)); _ -> fun (V33) -> begin (V34 = (('un--updateHoleUsageArgs'(V1, V2, V3, 1, V5, V6, V8))(V33))), case V34 of {'Idris.Prelude.Types.Left', E6} -> (fun (V35) -> {'Idris.Prelude.Types.Left', V35} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V36) -> {'Idris.Prelude.Types.Right', V7} end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E2, E3, E4, E5)); _ -> fun (V37) -> begin (V38 = (('un--updateHoleUsageArgs'(V1, V2, V3, 1, V5, V6, V8))(V37))), case V38 of {'Idris.Prelude.Types.Left', E0} -> (fun (V39) -> {'Idris.Prelude.Types.Left', V39} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V40) -> {'Idris.Prelude.Types.Right', V7} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'un--localPrf'(V0, V1, V2) -> case V2 of [] -> 0; [E0 | E1] -> (fun (V3, V4) -> ('case--localPrf-4128'(V3, V4, 'erased', 'erased', ('un--localPrf'('erased', 'erased', V4)))) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--linearCheck'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> begin (V9 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V0, V1, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Linearity check on "/utf8>> end, V7, V8))), case V9 of {'Idris.Prelude.Types.Left', E0} -> (fun (V10) -> {'Idris.Prelude.Types.Left', V10} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V11) -> begin (V12 = ('Idris.Idris2.Core.Normalise':'un--logEnv'(V0, V1, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), <<"In env"/utf8>>, V6, V8))), case V12 of {'Idris.Prelude.Types.Left', E2} -> (fun (V13) -> {'Idris.Prelude.Types.Left', V13} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V14) -> begin (V15 = (('un--lcheck'(V0, V1, V2, V4, V5, V6, V7))(V8))), case V15 of {'Idris.Prelude.Types.Left', E4} -> (fun (V16) -> {'Idris.Prelude.Types.Left', V16} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V17) -> case V17 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V18, V19) -> case V19 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V20, V21) -> begin (V22 = (('Idris.Idris2.Core.Context.Log':'un--log'(V1, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Used: "/utf8>>, ('dn--un--show_Show__(Usage $vars)'('erased', V21)))) end))(V8))), case V22 of {'Idris.Prelude.Types.Left', E10} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V24) -> begin (V25 = case ('Idris.Idris2.Prelude.Basics':'un--not'(V5)) of 0 -> (('un--checkEnvUsage'(V0, [], V1, V2, V3, V4, V6, V21, V18))(V8)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V25 of {'Idris.Prelude.Types.Left', E12} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V27) -> {'Idris.Prelude.Types.Right', V18} end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) 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(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--lcheckMeta'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V9 of [E0 | E1] -> (fun (V12, V13) -> case V11 of {'Idris.Core.Value.NBind', E8, E9, E10, E11} -> (fun (V14, V15, V16, V17) -> case V16 of {'Idris.Core.TT.Pi', E18, E19, E20, E21} -> (fun (V18, V19, V20, V21) -> begin (V22 = ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V19, V3))), fun (V23) -> begin (V24 = (('un--lcheck'(V0, V1, V2, V22, V4, V5, V12))(V23))), case V24 of {'Idris.Prelude.Types.Left', E22} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V26) -> case V26 of {'Idris.Builtin.MkPair', E24, E25} -> (fun (V27, V28) -> case V28 of {'Idris.Builtin.MkPair', E26, E27} -> (fun (V29, V30) -> begin (V59 = begin (V58 = (('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 (V31) -> fun (V32) -> fun (V33) -> fun (V34) -> fun (V35) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V33, V34, V35)) end end end end end, fun (V36) -> fun (V37) -> fun (V38) -> V37 end end end, fun (V39) -> fun (V40) -> fun (V41) -> fun (V42) -> fun (V43) -> begin (V44 = (V41(V43))), begin (V45 = (V42(V43))), (V44(V45)) end end end end end end end}, fun (V46) -> fun (V47) -> fun (V48) -> fun (V49) -> fun (V50) -> begin (V51 = (V48(V50))), ((V49(V51))(V50)) end end end end end end, fun (V52) -> fun (V53) -> fun (V54) -> begin (V55 = (V53(V54))), (V55(V54)) end end end end}, fun (V56) -> fun (V57) -> V57 end end}, V1))(V23))), {'Idris.Prelude.Types.Right', V58} end), case V59 of {'Idris.Prelude.Types.Left', E28} -> (fun (V60) -> {'Idris.Prelude.Types.Left', V60} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V61) -> begin (V62 = (((V17(V61))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V5, V27))))(V23))), case V62 of {'Idris.Prelude.Types.Left', E30} -> (fun (V63) -> {'Idris.Prelude.Types.Left', V63} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V64) -> begin (V74 = begin (V65 = {'Idris.Builtin.MkPair', V27, {'Idris.Builtin.MkPair', V29, V30}}), ('case--case block in lcheckMeta-11040'(V0, V14, V15, V18, V20, V12, V13, V21, V19, V17, V10, V8, V7, V6, V5, V4, V3, V2, V1, V22, V27, V29, V30, V65, V61, V64, ('Idris.Idris2.Prelude.Basics':'un--&&'(V4, fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V66) -> fun (V67) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V66, V67)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V68) -> fun (V69) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V68, V69)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V70) -> fun (V71) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V70, V71)) end end, fun (V72) -> fun (V73) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V72, V73)) end end}}, V19)) end)))) end), begin (V75 = (('un--lcheckMeta'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V13, [V74 | V10], V64))(V23))), case V75 of {'Idris.Prelude.Types.Left', E32} -> (fun (V76) -> {'Idris.Prelude.Types.Left', V76} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V77) -> case V77 of {'Idris.Builtin.MkPair', E34, E35} -> (fun (V78, V79) -> case V79 of {'Idris.Builtin.MkPair', E36, E37} -> (fun (V80, V81) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', V78, {'Idris.Builtin.MkPair', V80, ('un--++'('erased', V30, V81))}}} end(E36, E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E34, E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end 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(E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E18, E19, E20, E21)); _ -> fun (V82) -> begin (V111 = begin (V110 = (('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 (V83) -> fun (V84) -> fun (V85) -> fun (V86) -> fun (V87) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V85, V86, V87)) end end end end end, fun (V88) -> fun (V89) -> fun (V90) -> V89 end end end, fun (V91) -> fun (V92) -> fun (V93) -> fun (V94) -> fun (V95) -> begin (V96 = (V93(V95))), begin (V97 = (V94(V95))), (V96(V97)) end end end end end end end}, fun (V98) -> fun (V99) -> fun (V100) -> fun (V101) -> fun (V102) -> begin (V103 = (V100(V102))), ((V101(V103))(V102)) end end end end end end, fun (V104) -> fun (V105) -> fun (V106) -> begin (V107 = (V105(V106))), (V107(V106)) end end end end}, fun (V108) -> fun (V109) -> V109 end end}, V1))(V82))), {'Idris.Prelude.Types.Right', V110} end), case V111 of {'Idris.Prelude.Types.Left', E12} -> (fun (V112) -> {'Idris.Prelude.Types.Left', V112} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V113) -> begin (V114 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V113, V82))), case V114 of {'Idris.Prelude.Types.Left', E14} -> (fun (V115) -> {'Idris.Prelude.Types.Left', V115} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V116) -> begin (V117 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V1, V0, V116, V5, V11, V82))), case V117 of {'Idris.Prelude.Types.Left', E16} -> (fun (V118) -> {'Idris.Prelude.Types.Left', V118} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V119) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V6, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on metavar\x{a} "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V7)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V119)), <<" not a function type)"/utf8>>))))))))}, V82)) 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 end(E8, E9, E10, E11)); _ -> fun (V120) -> begin (V149 = begin (V148 = (('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 (V121) -> fun (V122) -> fun (V123) -> fun (V124) -> fun (V125) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V123, V124, V125)) end end end end end, fun (V126) -> fun (V127) -> fun (V128) -> V127 end end end, fun (V129) -> fun (V130) -> fun (V131) -> fun (V132) -> fun (V133) -> begin (V134 = (V131(V133))), begin (V135 = (V132(V133))), (V134(V135)) end end end end end end end}, fun (V136) -> fun (V137) -> fun (V138) -> fun (V139) -> fun (V140) -> begin (V141 = (V138(V140))), ((V139(V141))(V140)) end end end end end end, fun (V142) -> fun (V143) -> fun (V144) -> begin (V145 = (V143(V144))), (V145(V144)) end end end end}, fun (V146) -> fun (V147) -> V147 end end}, V1))(V120))), {'Idris.Prelude.Types.Right', V148} end), case V149 of {'Idris.Prelude.Types.Left', E2} -> (fun (V150) -> {'Idris.Prelude.Types.Left', V150} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V151) -> begin (V152 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V151, V120))), case V152 of {'Idris.Prelude.Types.Left', E4} -> (fun (V153) -> {'Idris.Prelude.Types.Left', V153} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V154) -> begin (V155 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V1, V0, V154, V5, V11, V120))), case V155 of {'Idris.Prelude.Types.Left', E6} -> (fun (V156) -> {'Idris.Prelude.Types.Left', V156} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V157) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V6, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on metavar\x{a} "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V7)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V157)), <<" not a function type)"/utf8>>))))))))}, V120)) 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 end(E0, E1)); [] -> fun (V158) -> begin (V187 = begin (V186 = (('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 (V159) -> fun (V160) -> fun (V161) -> fun (V162) -> fun (V163) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V161, V162, V163)) end end end end end, fun (V164) -> fun (V165) -> fun (V166) -> V165 end end end, fun (V167) -> fun (V168) -> fun (V169) -> fun (V170) -> fun (V171) -> begin (V172 = (V169(V171))), begin (V173 = (V170(V171))), (V172(V173)) end end end end end end end}, fun (V174) -> fun (V175) -> fun (V176) -> fun (V177) -> fun (V178) -> begin (V179 = (V176(V178))), ((V177(V179))(V178)) end end end end end end, fun (V180) -> fun (V181) -> fun (V182) -> begin (V183 = (V181(V182))), (V183(V182)) end end end end}, fun (V184) -> fun (V185) -> V185 end end}, V1))(V158))), {'Idris.Prelude.Types.Right', V186} end), case V187 of {'Idris.Prelude.Types.Left', E38} -> (fun (V188) -> {'Idris.Prelude.Types.Left', V188} end(E38)); {'Idris.Prelude.Types.Right', E39} -> (fun (V189) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Meta', V6, V7, V8, ('Idris.Idris2.Data.List':'un--reverse'('erased', V10))}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V1, V0, V189, V5, V11)), {'Idris.Core.LinearCheck.Nil'}}}} end(E39)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--lcheckDef'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V5 of 0 -> fun (V8) -> begin (V37 = begin (V36 = (('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 (V9) -> fun (V10) -> fun (V11) -> fun (V12) -> fun (V13) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V11, V12, V13)) end end end end end, fun (V14) -> fun (V15) -> fun (V16) -> V15 end end end, fun (V17) -> fun (V18) -> fun (V19) -> fun (V20) -> fun (V21) -> begin (V22 = (V19(V21))), begin (V23 = (V20(V21))), (V22(V23)) end end end end end end end}, fun (V24) -> fun (V25) -> fun (V26) -> fun (V27) -> fun (V28) -> begin (V29 = (V26(V28))), ((V27(V29))(V28)) end end end end end end, fun (V30) -> fun (V31) -> fun (V32) -> begin (V33 = (V31(V32))), (V33(V32)) end end end end}, fun (V34) -> fun (V35) -> V35 end end}, V1))(V8))), {'Idris.Prelude.Types.Right', V36} end), case V37 of {'Idris.Prelude.Types.Left', E0} -> (fun (V38) -> {'Idris.Prelude.Types.Left', V38} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V39) -> begin (V66 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V7, case V39 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 (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, V65) -> V40 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))(V8))), case V66 of {'Idris.Prelude.Types.Left', E28} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V68) -> case V68 of {'Idris.Prelude.Types.Just', E30} -> (fun (V69) -> {'Idris.Prelude.Types.Right', case V69 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 (V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90) -> V72 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} end(E30)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V3, V7}, V8)) end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V91) -> begin (V120 = begin (V119 = (('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 (V92) -> fun (V93) -> fun (V94) -> fun (V95) -> fun (V96) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V94, V95, V96)) end end end end end, fun (V97) -> fun (V98) -> fun (V99) -> V98 end end end, fun (V100) -> fun (V101) -> fun (V102) -> fun (V103) -> fun (V104) -> begin (V105 = (V102(V104))), begin (V106 = (V103(V104))), (V105(V106)) end end end end end end end}, fun (V107) -> fun (V108) -> fun (V109) -> fun (V110) -> fun (V111) -> begin (V112 = (V109(V111))), ((V110(V112))(V111)) end end end end end end, fun (V113) -> fun (V114) -> fun (V115) -> begin (V116 = (V114(V115))), (V116(V115)) end end end end}, fun (V117) -> fun (V118) -> V118 end end}, V1))(V91))), {'Idris.Prelude.Types.Right', V119} end), case V120 of {'Idris.Prelude.Types.Left', E52} -> (fun (V121) -> {'Idris.Prelude.Types.Left', V121} end(E52)); {'Idris.Prelude.Types.Right', E53} -> (fun (V122) -> (('case--lcheckDef-10492'('erased', V7, V6, V4, V3, V2, V1, V122, ('Idris.Idris2.Core.Context':'un--getNameID'(V7, case V122 of {'Idris.Core.Context.MkDefs', E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79} -> (fun (V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142, V143, V144, V145, V146, V147, V148) -> V123 end(E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V91)) end(E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--lcheckBinder'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of {'Idris.Core.TT.Lam', E0, E1, E2, E3} -> (fun (V7, V8, V9, V10) -> fun (V11) -> begin (V16 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V12) -> fun (V13) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V12, V13)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V14, V15)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V4, V5, V10))(V11))), case V16 of {'Idris.Prelude.Types.Left', E4} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V18) -> case V18 of {'Idris.Builtin.MkPair', E6, E7} -> (fun (V19, V20) -> case V20 of {'Idris.Builtin.MkPair', E8, E9} -> (fun (V21, V22) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Lam', V7, V8, V9, V19}, {'Idris.Builtin.MkPair', V21, {'Idris.Core.LinearCheck.Nil'}}}} end(E8, E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3)); {'Idris.Core.TT.Let', E10, E11, E12, E13} -> (fun (V23, V24, V25, V26) -> fun (V27) -> begin (V32 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.Semiring':'un--erased'('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'())})), V4, V5, V26))(V27))), case V32 of {'Idris.Prelude.Types.Left', E14} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V34) -> case V34 of {'Idris.Builtin.MkPair', E16, E17} -> (fun (V35, V36) -> case V36 of {'Idris.Builtin.MkPair', E18, E19} -> (fun (V37, V38) -> begin (V39 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V3, V24)), V4, V5, V25))(V27))), case V39 of {'Idris.Prelude.Types.Left', E20} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V41) -> case V41 of {'Idris.Builtin.MkPair', E22, E23} -> (fun (V42, V43) -> case V43 of {'Idris.Builtin.MkPair', E24, E25} -> (fun (V44, V45) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Let', V23, V24, V42, V35}, {'Idris.Builtin.MkPair', V37, V45}}} end(E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E22, E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E18, E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E10, E11, E12, E13)); {'Idris.Core.TT.Pi', E26, E27, E28, E29} -> (fun (V46, V47, V48, V49) -> fun (V50) -> begin (V55 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V51) -> fun (V52) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V51, V52)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V53) -> fun (V54) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V53, V54)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V4, V5, V49))(V50))), case V55 of {'Idris.Prelude.Types.Left', E30} -> (fun (V56) -> {'Idris.Prelude.Types.Left', V56} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V57) -> case V57 of {'Idris.Builtin.MkPair', E32, E33} -> (fun (V58, V59) -> case V59 of {'Idris.Builtin.MkPair', E34, E35} -> (fun (V60, V61) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Pi', V46, V47, V48, V58}, {'Idris.Builtin.MkPair', V60, {'Idris.Core.LinearCheck.Nil'}}}} end(E34, E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E32, E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E26, E27, E28, E29)); {'Idris.Core.TT.PVar', E36, E37, E38, E39} -> (fun (V62, V63, V64, V65) -> fun (V66) -> begin (V71 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V67) -> fun (V68) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V67, V68)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V69) -> fun (V70) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V69, V70)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V4, V5, V65))(V66))), case V71 of {'Idris.Prelude.Types.Left', E40} -> (fun (V72) -> {'Idris.Prelude.Types.Left', V72} end(E40)); {'Idris.Prelude.Types.Right', E41} -> (fun (V73) -> case V73 of {'Idris.Builtin.MkPair', E42, E43} -> (fun (V74, V75) -> case V75 of {'Idris.Builtin.MkPair', E44, E45} -> (fun (V76, V77) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PVar', V62, V63, V64, V74}, {'Idris.Builtin.MkPair', V76, {'Idris.Core.LinearCheck.Nil'}}}} end(E44, E45)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E42, E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E36, E37, E38, E39)); {'Idris.Core.TT.PLet', E46, E47, E48, E49} -> (fun (V78, V79, V80, V81) -> fun (V82) -> begin (V87 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V83) -> fun (V84) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V83, V84)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V85) -> fun (V86) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V85, V86)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V4, V5, V81))(V82))), case V87 of {'Idris.Prelude.Types.Left', E50} -> (fun (V88) -> {'Idris.Prelude.Types.Left', V88} end(E50)); {'Idris.Prelude.Types.Right', E51} -> (fun (V89) -> case V89 of {'Idris.Builtin.MkPair', E52, E53} -> (fun (V90, V91) -> case V91 of {'Idris.Builtin.MkPair', E54, E55} -> (fun (V92, V93) -> begin (V94 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V3, V79)), V4, V5, V80))(V82))), case V94 of {'Idris.Prelude.Types.Left', E56} -> (fun (V95) -> {'Idris.Prelude.Types.Left', V95} end(E56)); {'Idris.Prelude.Types.Right', E57} -> (fun (V96) -> case V96 of {'Idris.Builtin.MkPair', E58, E59} -> (fun (V97, V98) -> case V98 of {'Idris.Builtin.MkPair', E60, E61} -> (fun (V99, V100) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PLet', V78, V79, V97, V90}, {'Idris.Builtin.MkPair', V92, V100}}} end(E60, E61)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E58, E59)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E57)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E54, E55)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E52, E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E51)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E46, E47, E48, E49)); {'Idris.Core.TT.PVTy', E62, E63, E64} -> (fun (V101, V102, V103) -> fun (V104) -> begin (V109 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V105) -> fun (V106) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V105, V106)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V107) -> fun (V108) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V107, V108)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V4, V5, V103))(V104))), case V109 of {'Idris.Prelude.Types.Left', E65} -> (fun (V110) -> {'Idris.Prelude.Types.Left', V110} end(E65)); {'Idris.Prelude.Types.Right', E66} -> (fun (V111) -> case V111 of {'Idris.Builtin.MkPair', E67, E68} -> (fun (V112, V113) -> case V113 of {'Idris.Builtin.MkPair', E69, E70} -> (fun (V114, V115) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PVTy', V101, V102, V112}, {'Idris.Builtin.MkPair', V114, {'Idris.Core.LinearCheck.Nil'}}}} end(E69, E70)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E67, E68)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E66)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E62, E63, E64)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--lcheck'(V0, V1, V2, V3, V4, V5, V6) -> case V6 of {'Idris.Core.TT.Local', E0, E1, E2} -> (fun (V7, V8, V9) -> begin (V17 = ('Idris.Idris2.Core.Env':'un--getBinder'('erased', 'erased', {'Idris.Core.TT.dn--un--__mkWeaken', fun (V10) -> fun (V11) -> fun (V12) -> ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Term'('erased', 'erased', V12)) end end end, fun (V13) -> fun (V14) -> fun (V15) -> fun (V16) -> ('Idris.Idris2.Core.TT':'dn--un--weakenNs_Weaken__Term'('erased', 'erased', V15, V16)) end end end end}, V0, V9, 'erased', V5))), begin (V18 = ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V17))), begin (V19 = ('Idris.Idris2.Core.TT':'un--binderType'('erased', V17))), fun (V20) -> begin (V21 = case ('Idris.Idris2.Prelude.Basics':'un--not'(V4)) of 0 -> (('nested--8956-5341--in--un--rigSafe'(V9, 'erased', V0, 'erased', V8, V7, V5, V4, V3, V2, V1, V18, V3))(V20)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V21 of {'Idris.Prelude.Types.Left', E3} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V23) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Local', V7, V8, V9}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V5, V19)), ('nested--8956-5342--in--un--used'(V9, 'erased', V0, 'erased', V8, V7, V5, V4, V3, V2, V1, V3))}}} end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end end(E0, E1, E2)); {'Idris.Core.TT.Ref', E5, E6, E7} -> (fun (V24, V25, V26) -> fun (V27) -> begin (V28 = (('un--lcheckDef'('erased', V1, V2, V24, V3, V4, V5, V26))(V27))), 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', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Ref', V24, V25, V26}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V5, ('Idris.Idris2.Core.TT':'un--embed'('erased', 'erased', V30)))), {'Idris.Core.LinearCheck.Nil'}}}} end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E5, E6, E7)); {'Idris.Core.TT.Meta', E10, E11, E12, E13} -> (fun (V31, V32, V33, V34) -> fun (V35) -> begin (V64 = begin (V63 = (('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 (V36) -> fun (V37) -> fun (V38) -> fun (V39) -> fun (V40) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V38, V39, V40)) end end end end end, fun (V41) -> fun (V42) -> fun (V43) -> V42 end end end, fun (V44) -> fun (V45) -> fun (V46) -> fun (V47) -> fun (V48) -> begin (V49 = (V46(V48))), begin (V50 = (V47(V48))), (V49(V50)) end end end end end end end}, fun (V51) -> fun (V52) -> fun (V53) -> fun (V54) -> fun (V55) -> begin (V56 = (V53(V55))), ((V54(V56))(V55)) end end end end end end, fun (V57) -> fun (V58) -> fun (V59) -> begin (V60 = (V58(V59))), (V60(V59)) end end end end}, fun (V61) -> fun (V62) -> V62 end end}, V1))(V35))), {'Idris.Prelude.Types.Right', V63} end), case V64 of {'Idris.Prelude.Types.Left', E14} -> (fun (V65) -> {'Idris.Prelude.Types.Left', V65} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V66) -> begin (V93 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'({'Idris.Core.Name.Resolved', V33}, case V66 of {'Idris.Core.Context.MkDefs', E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41} -> (fun (V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90, V91, V92) -> V67 end(E16, E17, E18, E19, E20, 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))(V35))), case V93 of {'Idris.Prelude.Types.Left', E42} -> (fun (V94) -> {'Idris.Prelude.Types.Left', V94} end(E42)); {'Idris.Prelude.Types.Right', E43} -> (fun (V95) -> case V95 of {'Idris.Prelude.Types.Just', E44} -> (fun (V96) -> begin (V149 = ('Idris.Idris2.Algebra.Semiring':'un--branchZero'('erased', 'erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V97) -> fun (V98) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V97, V98)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V99) -> fun (V100) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V99, V100)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V101) -> fun (V102) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V101, V102)) end end, fun (V103) -> fun (V104) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V103, V104)) end end}}, begin (V105 = {'Idris.Prelude.Types.Just', V96}), ('case--case block in lcheck-5677'(V0, V34, V33, V32, V31, V5, V4, V3, V2, V1, V66, V96, V105, case V96 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 (V106, V107, V108, V109, V110, V111, V112, V113, V114, V115, V116, V117, V118, V119, V120, V121, V122, V123, V124, V125, V126) -> V108 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)) end, begin (V127 = {'Idris.Prelude.Types.Just', V96}), ('case--case block in lcheck-5739'(V0, V34, V33, V32, V31, V5, V4, V3, V2, V1, V66, V96, V127, case V96 of {'Idris.Core.Context.MkGlobalDef', E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86} -> (fun (V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142, V143, V144, V145, V146, V147, V148) -> V145 end(E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end, V3))), begin (V176 = ('Idris.Idris2.Core.Context.Log':'un--logC'(V1, <<"quantity"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun (V150) -> begin (V173 = begin (V151 = {'Idris.Prelude.Types.Just', V96}), (('case--case block in lcheck-5997'(V0, V34, V33, V32, V31, V5, V4, V3, V2, V1, V66, V96, V151, V149, case V96 of {'Idris.Core.Context.MkGlobalDef', E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107} -> (fun (V152, V153, V154, V155, V156, V157, V158, V159, V160, V161, V162, V163, V164, V165, V166, V167, V168, V169, V170, V171, V172) -> V169 end(E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V150)) end), case V173 of {'Idris.Prelude.Types.Left', E108} -> (fun (V174) -> {'Idris.Prelude.Types.Left', V174} end(E108)); {'Idris.Prelude.Types.Right', E109} -> (fun (V175) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V3)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V32)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.FC':'dn--un--show_Show__FC'(V31)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"\x{a}"/utf8>>, ('Idris.Idris2.Prelude.Show':'dn--un--show_Show__String'(V175))))))))))))))} end(E109)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, V35))), case V176 of {'Idris.Prelude.Types.Left', E110} -> (fun (V177) -> {'Idris.Prelude.Types.Left', V177} end(E110)); {'Idris.Prelude.Types.Right', E111} -> (fun (V178) -> begin (V179 = {'Idris.Prelude.Types.Just', V96}), case V149 of 0 -> (('un--expandMeta'(V0, V1, V2, V3, V4, V5, V32, V33, case V96 of {'Idris.Core.Context.MkGlobalDef', E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132} -> (fun (V180, V181, V182, V183, V184, V185, V186, V187, V188, V189, V190, V191, V192, V193, V194, V195, V196, V197, V198, V199, V200) -> V197 end(E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V34))(V35)); 1 -> begin (V223 = begin (V201 = 1), ('case--case block in case block in lcheck-5911'(V0, V34, V33, V32, V31, V5, V4, V3, V2, V1, V66, V96, V179, V178, V201, case V96 of {'Idris.Core.Context.MkGlobalDef', E133, E134, E135, E136, E137, E138, E139, E140, E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153} -> (fun (V202, V203, V204, V205, V206, V207, V208, V209, V210, V211, V212, V213, V214, V215, V216, V217, V218, V219, V220, V221, V222) -> V219 end(E133, E134, E135, E136, E137, E138, E139, E140, E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end), begin (V224 = (('Idris.Idris2.Core.Normalise':'un--nf'(V1, V0, V66, V5, ('Idris.Idris2.Core.TT':'un--embed'('erased', 'erased', V223))))(V35))), case V224 of {'Idris.Prelude.Types.Left', E154} -> (fun (V225) -> {'Idris.Prelude.Types.Left', V225} end(E154)); {'Idris.Prelude.Types.Right', E155} -> (fun (V226) -> (('un--lcheckMeta'(V0, V1, V2, V3, V4, V5, V31, V32, V33, V34, [], V226))(V35)) end(E155)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E111)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E44)); _ -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V31, V32}, V35)) end end(E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E10, E11, E12, E13)); {'Idris.Core.TT.Bind', E156, E157, E158, E159} -> (fun (V227, V228, V229, V230) -> fun (V231) -> begin (V242 = ('Idris.Idris2.Core.UnifyState':'un--handleUnify'('erased', V1, V2, ('un--lcheckBinder'(V0, V1, V2, ('nested--8956-6121--in--un--rig'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1)), V4, V5, V229)), fun (V232) -> case V232 of {'Idris.Core.Core.LinearMisuse', E160, E161, E162, E163} -> (fun (V233, V234, V235, V236) -> ('un--lcheckBinder'(V0, V1, V2, ('nested--8956-6121--in--un--rig'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1)), V4, V5, ('Idris.Idris2.Core.TT':'un--setMultiplicity'('erased', V229, ('Idris.Idris2.Algebra.Semiring':'un--linear'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V237) -> fun (V238) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V237, V238)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V239) -> fun (V240) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V239, V240)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})))))) end(E160, E161, E162, E163)); _ -> fun (V241) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', V232, V241)) end end end, V231))), case V242 of {'Idris.Prelude.Types.Left', E164} -> (fun (V243) -> {'Idris.Prelude.Types.Left', V243} end(E164)); {'Idris.Prelude.Types.Right', E165} -> (fun (V244) -> case V244 of {'Idris.Builtin.MkPair', E166, E167} -> (fun (V245, V246) -> case V246 of {'Idris.Builtin.MkPair', E168, E169} -> (fun (V247, V248) -> begin (V250 = begin (V249 = {'Idris.Builtin.MkPair', V245, {'Idris.Builtin.MkPair', V247, V248}}), ('case--case block in lcheck-6853'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1, V245, V247, V248, V249, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V3, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--top_Top__ZeroOneOmega'()))))) end), begin (V251 = (('un--lcheck'([V228 | V0], V1, V2, ('nested--8956-6121--in--un--rig'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1)), V4, {'Idris.Core.Env.::', V245, V250}, V230))(V231))), case V251 of {'Idris.Prelude.Types.Left', E170} -> (fun (V252) -> {'Idris.Prelude.Types.Left', V252} end(E170)); {'Idris.Prelude.Types.Right', E171} -> (fun (V253) -> begin (V254 = {'Idris.Builtin.MkPair', V245, {'Idris.Builtin.MkPair', V247, V248}}), case V253 of {'Idris.Builtin.MkPair', E172, E173} -> (fun (V255, V256) -> case V256 of {'Idris.Builtin.MkPair', E174, E175} -> (fun (V257, V258) -> begin (V287 = begin (V286 = (('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 (V259) -> fun (V260) -> fun (V261) -> fun (V262) -> fun (V263) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V261, V262, V263)) end end end end end, fun (V264) -> fun (V265) -> fun (V266) -> V265 end end end, fun (V267) -> fun (V268) -> fun (V269) -> fun (V270) -> fun (V271) -> begin (V272 = (V269(V271))), begin (V273 = (V270(V271))), (V272(V273)) end end end end end end end}, fun (V274) -> fun (V275) -> fun (V276) -> fun (V277) -> fun (V278) -> begin (V279 = (V276(V278))), ((V277(V279))(V278)) end end end end end end, fun (V280) -> fun (V281) -> fun (V282) -> begin (V283 = (V281(V282))), (V283(V282)) end end end end}, fun (V284) -> fun (V285) -> V285 end end}, V1))(V231))), {'Idris.Prelude.Types.Right', V286} end), case V287 of {'Idris.Prelude.Types.Left', E176} -> (fun (V288) -> {'Idris.Prelude.Types.Left', V288} end(E176)); {'Idris.Prelude.Types.Right', E177} -> (fun (V289) -> begin (V290 = ('un--count'('erased', 0, V258))), begin (V300 = begin (V291 = {'Idris.Builtin.MkPair', V255, {'Idris.Builtin.MkPair', V257, V258}}), (('case--case block in case block in lcheck-6732'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1, V245, V247, V248, V254, V250, V255, V257, V258, V291, V289, V290, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Prelude.Basics':'un--not'(V4)), fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V292) -> fun (V293) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V292, V293)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V294) -> fun (V295) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V294, V295)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V296) -> fun (V297) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V296, V297)) end end, fun (V298) -> fun (V299) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V298, V299)) end end}}, ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V229)))) end))))(V231)) end), case V300 of {'Idris.Prelude.Types.Left', E178} -> (fun (V301) -> {'Idris.Prelude.Types.Left', V301} end(E178)); {'Idris.Prelude.Types.Right', E179} -> (fun (V302) -> begin (V312 = begin (V303 = {'Idris.Builtin.MkPair', V255, {'Idris.Builtin.MkPair', V257, V258}}), ('case--case block in case block in lcheck-6601'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1, V245, V247, V248, V254, V250, V255, V257, V258, V303, V289, V290, V302, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V304) -> fun (V305) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V304, V305)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V306) -> fun (V307) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V306, V307)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V308) -> fun (V309) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V308, V309)) end end, fun (V310) -> fun (V311) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V310, V311)) end end}}, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V229)), ('nested--8956-6121--in--un--rig'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1)))))), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(V302, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V290, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))) end)) end)))) end), begin (V313 = case ('Idris.Idris2.Prelude.Basics':'un--not'(V4)) of 0 -> (('nested--8956-6124--in--un--checkUsageOK'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1, V312, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V229)), ('nested--8956-6121--in--un--rig'(V0, V228, V230, V229, V227, V5, V4, V3, V2, V1))))))(V231)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V313 of {'Idris.Prelude.Types.Left', E180} -> (fun (V314) -> {'Idris.Prelude.Types.Left', V314} end(E180)); {'Idris.Prelude.Types.Right', E181} -> (fun (V315) -> begin (V344 = begin (V343 = (('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 (V316) -> fun (V317) -> fun (V318) -> fun (V319) -> fun (V320) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V318, V319, V320)) end end end end end, fun (V321) -> fun (V322) -> fun (V323) -> V322 end end end, fun (V324) -> fun (V325) -> fun (V326) -> fun (V327) -> fun (V328) -> begin (V329 = (V326(V328))), begin (V330 = (V327(V328))), (V329(V330)) end end end end end end end}, fun (V331) -> fun (V332) -> fun (V333) -> fun (V334) -> fun (V335) -> begin (V336 = (V333(V335))), ((V334(V336))(V335)) end end end end end end, fun (V337) -> fun (V338) -> fun (V339) -> begin (V340 = (V338(V339))), (V340(V339)) end end end end}, fun (V341) -> fun (V342) -> V342 end end}, V1))(V231))), {'Idris.Prelude.Types.Right', V343} end), case V344 of {'Idris.Prelude.Types.Left', E182} -> (fun (V345) -> {'Idris.Prelude.Types.Left', V345} end(E182)); {'Idris.Prelude.Types.Right', E183} -> (fun (V346) -> (('un--discharge'(V0, V346, V5, V227, V228, V245, V247, V255, V257, ('un--++'('erased', V248, ('un--doneScope'('erased', 'erased', V258))))))(V231)) end(E183)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E181)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E179)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E177)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E174, E175)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E172, E173)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E171)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E168, E169)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E166, E167)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E165)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E156, E157, E158, E159)); {'Idris.Core.TT.App', E184, E185, E186} -> (fun (V347, V348, V349) -> fun (V350) -> begin (V351 = (('un--lcheck'(V0, V1, V2, V3, V4, V5, V348))(V350))), case V351 of {'Idris.Prelude.Types.Left', E187} -> (fun (V352) -> {'Idris.Prelude.Types.Left', V352} end(E187)); {'Idris.Prelude.Types.Right', E188} -> (fun (V353) -> case V353 of {'Idris.Builtin.MkPair', E189, E190} -> (fun (V354, V355) -> case V355 of {'Idris.Builtin.MkPair', E191, E192} -> (fun (V356, V357) -> begin (V386 = begin (V385 = (('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 (V358) -> fun (V359) -> fun (V360) -> fun (V361) -> fun (V362) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V360, V361, V362)) end end end end end, fun (V363) -> fun (V364) -> fun (V365) -> V364 end end end, fun (V366) -> fun (V367) -> fun (V368) -> fun (V369) -> fun (V370) -> begin (V371 = (V368(V370))), begin (V372 = (V369(V370))), (V371(V372)) end end end end end end end}, fun (V373) -> fun (V374) -> fun (V375) -> fun (V376) -> fun (V377) -> begin (V378 = (V375(V377))), ((V376(V378))(V377)) end end end end end end, fun (V379) -> fun (V380) -> fun (V381) -> begin (V382 = (V380(V381))), (V382(V381)) end end end end}, fun (V383) -> fun (V384) -> V384 end end}, V1))(V350))), {'Idris.Prelude.Types.Right', V385} end), case V386 of {'Idris.Prelude.Types.Left', E193} -> (fun (V387) -> {'Idris.Prelude.Types.Left', V387} end(E193)); {'Idris.Prelude.Types.Right', E194} -> (fun (V388) -> begin (V389 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V1, V356))(V350))), case V389 of {'Idris.Prelude.Types.Left', E195} -> (fun (V390) -> {'Idris.Prelude.Types.Left', V390} end(E195)); {'Idris.Prelude.Types.Right', E196} -> (fun (V391) -> begin (V392 = {'Idris.Builtin.MkPair', V354, {'Idris.Builtin.MkPair', V356, V357}}), case V391 of {'Idris.Core.Value.NBind', E199, E200, E201, E202} -> (fun (V393, V394, V395, V396) -> case V395 of {'Idris.Core.TT.Pi', E205, E206, E207, E208} -> (fun (V397, V398, V399, V400) -> begin (V401 = ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V398, V3))), begin (V402 = (('un--lcheck'(V0, V1, V2, V401, V4, V5, V349))(V350))), case V402 of {'Idris.Prelude.Types.Left', E209} -> (fun (V403) -> {'Idris.Prelude.Types.Left', V403} end(E209)); {'Idris.Prelude.Types.Right', E210} -> (fun (V404) -> begin (V405 = {'Idris.Core.Value.NBind', V393, V394, {'Idris.Core.TT.Pi', V397, V398, V399, V400}, V396}), case V404 of {'Idris.Builtin.MkPair', E211, E212} -> (fun (V406, V407) -> case V407 of {'Idris.Builtin.MkPair', E213, E214} -> (fun (V408, V409) -> begin (V410 = (((V396(V388))(('Idris.Idris2.Core.Normalise':'un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V5, V406))))(V350))), case V410 of {'Idris.Prelude.Types.Left', E215} -> (fun (V411) -> {'Idris.Prelude.Types.Left', V411} end(E215)); {'Idris.Prelude.Types.Right', E216} -> (fun (V412) -> begin (V422 = begin (V413 = {'Idris.Builtin.MkPair', V406, {'Idris.Builtin.MkPair', V408, V409}}), ('case--case block in case block in case block in lcheck-7229'(V0, V349, V348, V347, V5, V4, V3, V2, V1, V354, V356, V357, V392, V388, V393, V394, V397, V399, V400, V398, V396, V405, V401, V406, V408, V409, V413, V412, ('Idris.Idris2.Prelude.Basics':'un--&&'(V4, fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V414) -> fun (V415) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V414, V415)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V416) -> fun (V417) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V416, V417)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V418) -> fun (V419) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V418, V419)) end end, fun (V420) -> fun (V421) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V420, V421)) end end}}, V398)) end)))) end), begin (V423 = ('Idris.Idris2.Core.Context':'un--getSession'(V1, V350))), case V423 of {'Idris.Prelude.Types.Left', E217} -> (fun (V424) -> {'Idris.Prelude.Types.Left', V424} end(E217)); {'Idris.Prelude.Types.Right', E218} -> (fun (V425) -> begin (V452 = case case V425 of {'Idris.Core.Options.MkSessionOpts', E227, E228, E229, E230, E231, E232, E233, E234, E235, E236, E237, E238, E239, E240} -> (fun (V426, V427, V428, V429, V430, V431, V432, V433, V434, V435, V436, V437, V438, V439) -> V435 end(E227, E228, E229, E230, E231, E232, E233, E234, E235, E236, E237, E238, E239, E240)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end of 0 -> begin (V440 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V1, V408))(V350))), case V440 of {'Idris.Prelude.Types.Left', E219} -> (fun (V441) -> {'Idris.Prelude.Types.Left', V441} end(E219)); {'Idris.Prelude.Types.Right', E220} -> (fun (V442) -> begin (V443 = ('Idris.Idris2.Core.Normalise':'dn--un--convert_Convert__NF'(V1, V0, V388, V5, V442, V400, V350))), case V443 of {'Idris.Prelude.Types.Left', E221} -> (fun (V444) -> {'Idris.Prelude.Types.Left', V444} end(E221)); {'Idris.Prelude.Types.Right', E222} -> (fun (V445) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(V445)) of 0 -> begin (V446 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V1, V0, V388, V5, V400, V350))), case V446 of {'Idris.Prelude.Types.Left', E223} -> (fun (V447) -> {'Idris.Prelude.Types.Left', V447} end(E223)); {'Idris.Prelude.Types.Right', E224} -> (fun (V448) -> begin (V449 = ('Idris.Idris2.Core.Normalise':'dn--un--quote_Quote__NF'(V1, V0, V388, V5, V442, V350))), case V449 of {'Idris.Prelude.Types.Left', E225} -> (fun (V450) -> {'Idris.Prelude.Types.Left', V450} end(E225)); {'Idris.Prelude.Types.Right', E226} -> (fun (V451) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.CantConvert', V0, V347, V5, V448, V451}, V350)) end(E226)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E224)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E222)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E220)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end), case V452 of {'Idris.Prelude.Types.Left', E241} -> (fun (V453) -> {'Idris.Prelude.Types.Left', V453} end(E241)); {'Idris.Prelude.Types.Right', E242} -> (fun (V454) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.App', V347, V354, V422}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V1, V0, V388, V5, V412)), ('un--++'('erased', V357, V409))}}} end(E242)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E218)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E216)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E213, E214)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E211, E212)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E210)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E205, E206, E207, E208)); _ -> begin (V455 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V356))(V350))), case V455 of {'Idris.Prelude.Types.Left', E203} -> (fun (V456) -> {'Idris.Prelude.Types.Left', V456} end(E203)); {'Idris.Prelude.Types.Right', E204} -> (fun (V457) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V347, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V354)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V457)), <<" not a function type)"/utf8>>))))))))}, V350)) end(E204)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E199, E200, E201, E202)); {'Idris.Core.Value.NApp', E243, E244, E245} -> (fun (V458, V459, V460) -> case V459 of {'Idris.Core.Value.NRef', E248, E249} -> (fun (V461, V462) -> begin (V489 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V462, case V388 of {'Idris.Core.Context.MkDefs', E250, E251, E252, E253, E254, E255, E256, E257, E258, E259, E260, E261, E262, E263, E264, E265, E266, E267, E268, E269, E270, E271, E272, E273, E274, E275} -> (fun (V463, V464, V465, V466, V467, V468, V469, V470, V471, V472, V473, V474, V475, V476, V477, V478, V479, V480, V481, V482, V483, V484, V485, V486, V487, V488) -> V463 end(E250, E251, E252, E253, E254, E255, E256, E257, E258, E259, E260, E261, E262, E263, E264, E265, E266, E267, E268, E269, E270, E271, E272, E273, E274, E275)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V350))), case V489 of {'Idris.Prelude.Types.Left', E276} -> (fun (V490) -> {'Idris.Prelude.Types.Left', V490} end(E276)); {'Idris.Prelude.Types.Right', E277} -> (fun (V491) -> case V491 of {'Idris.Prelude.Types.Just', E278} -> (fun (V492) -> begin (V493 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V356))(V350))), case V493 of {'Idris.Prelude.Types.Left', E279} -> (fun (V494) -> {'Idris.Prelude.Types.Left', V494} end(E279)); {'Idris.Prelude.Types.Right', E280} -> (fun (V495) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V347, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V354)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V495)), <<" not a function type)"/utf8>>))))))))}, V350)) end(E280)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E278)); _ -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V347, V462}, V350)) end end(E277)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E248, E249)); _ -> begin (V496 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V356))(V350))), case V496 of {'Idris.Prelude.Types.Left', E246} -> (fun (V497) -> {'Idris.Prelude.Types.Left', V497} end(E246)); {'Idris.Prelude.Types.Right', E247} -> (fun (V498) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V347, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V354)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V498)), <<" not a function type)"/utf8>>))))))))}, V350)) end(E247)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E243, E244, E245)); _ -> begin (V499 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V356))(V350))), case V499 of {'Idris.Prelude.Types.Left', E197} -> (fun (V500) -> {'Idris.Prelude.Types.Left', V500} end(E197)); {'Idris.Prelude.Types.Right', E198} -> (fun (V501) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V347, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Linearity checking failed on "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V354)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" ("/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V501)), <<" not a function type)"/utf8>>))))))))}, V350)) end(E198)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E196)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E194)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E191, E192)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E189, E190)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E188)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E184, E185, E186)); {'Idris.Core.TT.As', E281, E282, E283, E284} -> (fun (V502, V503, V504, V505) -> fun (V506) -> begin (V507 = (('un--lcheck'(V0, V1, V2, V3, V4, V5, V504))(V506))), case V507 of {'Idris.Prelude.Types.Left', E285} -> (fun (V508) -> {'Idris.Prelude.Types.Left', V508} end(E285)); {'Idris.Prelude.Types.Right', E286} -> (fun (V509) -> case V509 of {'Idris.Builtin.MkPair', E287, E288} -> (fun (V510, V511) -> case V511 of {'Idris.Builtin.MkPair', E289, E290} -> (fun (V512, V513) -> begin (V514 = (('un--lcheck'(V0, V1, V2, V3, V4, V5, V505))(V506))), case V514 of {'Idris.Prelude.Types.Left', E291} -> (fun (V515) -> {'Idris.Prelude.Types.Left', V515} end(E291)); {'Idris.Prelude.Types.Right', E292} -> (fun (V516) -> case V516 of {'Idris.Builtin.MkPair', E293, E294} -> (fun (V517, V518) -> case V518 of {'Idris.Builtin.MkPair', E295, E296} -> (fun (V519, V520) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.As', V502, V503, V510, V517}, {'Idris.Builtin.MkPair', V519, V520}}} end(E295, E296)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E293, E294)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E292)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E289, E290)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E287, E288)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E286)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E281, E282, E283, E284)); {'Idris.Core.TT.TDelayed', E297, E298, E299} -> (fun (V521, V522, V523) -> fun (V524) -> begin (V525 = (('un--lcheck'(V0, V1, V2, V3, V4, V5, V523))(V524))), case V525 of {'Idris.Prelude.Types.Left', E300} -> (fun (V526) -> {'Idris.Prelude.Types.Left', V526} end(E300)); {'Idris.Prelude.Types.Right', E301} -> (fun (V527) -> case V527 of {'Idris.Builtin.MkPair', E302, E303} -> (fun (V528, V529) -> case V529 of {'Idris.Builtin.MkPair', E304, E305} -> (fun (V530, V531) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TDelayed', V521, V522, V528}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gType'('erased', V521)), V531}}} end(E304, E305)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E302, E303)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E301)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E297, E298, E299)); {'Idris.Core.TT.TDelay', E306, E307, E308, E309} -> (fun (V532, V533, V534, V535) -> fun (V536) -> begin (V541 = (('un--lcheck'(V0, V1, V2, ('Idris.Idris2.Algebra.Semiring':'un--erased'('erased', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V537) -> fun (V538) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V537, V538)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V539) -> fun (V540) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V539, V540)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())})), V4, V5, V534))(V536))), case V541 of {'Idris.Prelude.Types.Left', E310} -> (fun (V542) -> {'Idris.Prelude.Types.Left', V542} end(E310)); {'Idris.Prelude.Types.Right', E311} -> (fun (V543) -> case V543 of {'Idris.Builtin.MkPair', E312, E313} -> (fun (V544, V545) -> case V545 of {'Idris.Builtin.MkPair', E314, E315} -> (fun (V546, V547) -> begin (V548 = (('un--lcheck'(V0, V1, V2, V3, V4, V5, V535))(V536))), case V548 of {'Idris.Prelude.Types.Left', E316} -> (fun (V549) -> {'Idris.Prelude.Types.Left', V549} end(E316)); {'Idris.Prelude.Types.Right', E317} -> (fun (V550) -> case V550 of {'Idris.Builtin.MkPair', E318, E319} -> (fun (V551, V552) -> case V552 of {'Idris.Builtin.MkPair', E320, E321} -> (fun (V553, V554) -> begin (V555 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V553))(V536))), case V555 of {'Idris.Prelude.Types.Left', E322} -> (fun (V556) -> {'Idris.Prelude.Types.Left', V556} end(E322)); {'Idris.Prelude.Types.Right', E323} -> (fun (V557) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TDelay', V532, V533, V544, V551}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V5, {'Idris.Core.TT.TDelayed', V532, V533, V557})), V554}}} end(E323)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E320, E321)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E318, E319)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E317)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E314, E315)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E312, E313)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E311)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E306, E307, E308, E309)); {'Idris.Core.TT.TForce', E324, E325, E326} -> (fun (V558, V559, V560) -> fun (V561) -> begin (V562 = (('un--lcheck'(V0, V1, V2, V3, V4, V5, V560))(V561))), case V562 of {'Idris.Prelude.Types.Left', E327} -> (fun (V563) -> {'Idris.Prelude.Types.Left', V563} end(E327)); {'Idris.Prelude.Types.Right', E328} -> (fun (V564) -> case V564 of {'Idris.Builtin.MkPair', E329, E330} -> (fun (V565, V566) -> case V566 of {'Idris.Builtin.MkPair', E331, E332} -> (fun (V567, V568) -> begin (V569 = (('Idris.Idris2.Core.Normalise':'un--getNF'('erased', V1, V567))(V561))), case V569 of {'Idris.Prelude.Types.Left', E333} -> (fun (V570) -> {'Idris.Prelude.Types.Left', V570} end(E333)); {'Idris.Prelude.Types.Right', E334} -> (fun (V571) -> case V571 of {'Idris.Core.Value.NDelayed', E335, E336, E337} -> (fun (V572, V573, V574) -> begin (V603 = begin (V602 = (('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 (V575) -> fun (V576) -> fun (V577) -> fun (V578) -> fun (V579) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V577, V578, V579)) end end end end end, fun (V580) -> fun (V581) -> fun (V582) -> V581 end end end, fun (V583) -> fun (V584) -> fun (V585) -> fun (V586) -> fun (V587) -> begin (V588 = (V585(V587))), begin (V589 = (V586(V587))), (V588(V589)) end end end end end end end}, fun (V590) -> fun (V591) -> fun (V592) -> fun (V593) -> fun (V594) -> begin (V595 = (V592(V594))), ((V593(V595))(V594)) end end end end end end, fun (V596) -> fun (V597) -> fun (V598) -> begin (V599 = (V597(V598))), (V599(V598)) end end end end}, fun (V600) -> fun (V601) -> V601 end end}, V1))(V561))), {'Idris.Prelude.Types.Right', V602} end), case V603 of {'Idris.Prelude.Types.Left', E338} -> (fun (V604) -> {'Idris.Prelude.Types.Left', V604} end(E338)); {'Idris.Prelude.Types.Right', E339} -> (fun (V605) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TForce', V558, V573, V565}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--glueBack'(V1, V0, V605, V5, V574)), V568}}} end(E339)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E335, E336, E337)); _ -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.GenericMsg', V558, <<"Not a delayed type"/utf8>>}, V561)) end end(E334)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E331, E332)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E329, E330)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E328)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E324, E325, E326)); {'Idris.Core.TT.PrimVal', E340, E341} -> (fun (V606, V607) -> fun (V608) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.PrimVal', V606, V607}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gErased'('erased', V606)), {'Idris.Core.LinearCheck.Nil'}}}} end end(E340, E341)); {'Idris.Core.TT.Erased', E342, E343} -> (fun (V609, V610) -> fun (V611) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Erased', V609, V610}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gErased'('erased', V609)), {'Idris.Core.LinearCheck.Nil'}}}} end end(E342, E343)); {'Idris.Core.TT.TType', E344} -> (fun (V612) -> fun (V613) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.TType', V612}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gType'('erased', V612)), {'Idris.Core.LinearCheck.Nil'}}}} end end(E344)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--getArgUsage'(V0, V1, V2, V3, V4, V5, V6) -> begin (V8 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V7) -> ('nested--8972-8770--in--un--getPUsage'(V5, V4, V3, V2, V1, V0, V4, V7)) end, V5))(V6))), case V8 of {'Idris.Prelude.Types.Left', E0} -> (fun (V9) -> {'Idris.Prelude.Types.Left', V9} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V10) -> begin (V11 = (('nested--8972-8773--in--un--combine'(V5, V4, V3, V2, V1, V0, V10))(V6))), case V11 of {'Idris.Prelude.Types.Left', E2} -> (fun (V12) -> {'Idris.Prelude.Types.Left', V12} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V13) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V14) -> ('Idris.Idris2.Builtin':'un--snd'('erased', 'erased', V14)) end, V13))} end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--expandMeta'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V8 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V10, V11, V12, V13, V14) -> case V11 of [] -> case V12 of {'Idris.Core.CaseTree.STerm', E5, E6} -> (fun (V15, V16) -> fun (V17) -> begin (V18 = (('nested--8981-10816--in--un--substMeta'(V0, V10, V13, V14, V15, V16, V9, V7, V6, V5, V4, V3, V2, V1, [], V0, ('Idris.Idris2.Core.TT':'un--embed'('erased', 'erased', V16)), V9, {'Idris.Core.TT.SubstEnv.Nil'}))(V17))), case V18 of {'Idris.Prelude.Types.Left', E7} -> (fun (V19) -> {'Idris.Prelude.Types.Left', V19} end(E7)); {'Idris.Prelude.Types.Right', E8} -> (fun (V20) -> (('un--lcheck'(V0, V1, V2, V3, V4, V5, V20))(V17)) end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E5, E6)); _ -> fun (V21) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Badly formed metavar solution "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V6)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.Context':'dn--un--show_Show__Def'(V8))))))))}, V21)) end end; _ -> fun (V22) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Badly formed metavar solution "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V6)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.Context':'dn--un--show_Show__Def'(V8))))))))}, V22)) end end end(E0, E1, E2, E3, E4)); _ -> fun (V23) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.InternalError', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Badly formed metavar solution "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V6)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.Context':'dn--un--show_Show__Def'(V8))))))))}, V23)) end end. 'un--doneScope'(V0, V1, V2) -> case V2 of {'Idris.Core.LinearCheck.Nil'} -> (fun () -> {'Idris.Core.LinearCheck.Nil'} end()); {'Idris.Core.LinearCheck.::', E0, E1} -> (fun (V3, V4) -> case V3 of 0 -> ('un--doneScope'('erased', 'erased', V4)); _ -> begin (V5 = (V3 - 1)), {'Idris.Core.LinearCheck.::', V5, ('un--doneScope'('erased', 'erased', V4))} end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--discharge'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V5 of {'Idris.Core.TT.Lam', E0, E1, E2, E3} -> (fun (V10, V11, V12, V13) -> fun (V14) -> begin (V15 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V8))(V14))), case V15 of {'Idris.Prelude.Types.Left', E4} -> (fun (V16) -> {'Idris.Prelude.Types.Left', V16} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V17) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.Lam', V10, V11, V12, V13}, V7}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V2, {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.Pi', V10, V11, V12, V13}, V17})), V9}}} end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3)); {'Idris.Core.TT.Let', E6, E7, E8, E9} -> (fun (V18, V19, V20, V21) -> fun (V22) -> begin (V23 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V8))(V22))), case V23 of {'Idris.Prelude.Types.Left', E10} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V25) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.Let', V18, V19, V20, V21}, V7}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V2, {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.Let', V18, V19, V20, V21}, V25})), V9}}} end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E6, E7, E8, E9)); {'Idris.Core.TT.Pi', E12, E13, E14, E15} -> (fun (V26, V27, V28, V29) -> fun (V30) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.Pi', V26, V27, V28, V29}, V7}, {'Idris.Builtin.MkPair', V6, V9}}} end end(E12, E13, E14, E15)); {'Idris.Core.TT.PVar', E16, E17, E18, E19} -> (fun (V31, V32, V33, V34) -> fun (V35) -> begin (V36 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V8))(V35))), case V36 of {'Idris.Prelude.Types.Left', E20} -> (fun (V37) -> {'Idris.Prelude.Types.Left', V37} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V38) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.PVar', V31, V32, V33, V34}, V7}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V2, {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.PVTy', V31, V32, V34}, V38})), V9}}} end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E16, E17, E18, E19)); {'Idris.Core.TT.PLet', E22, E23, E24, E25} -> (fun (V39, V40, V41, V42) -> fun (V43) -> begin (V44 = (('Idris.Idris2.Core.Normalise':'un--getTerm'('erased', V8))(V43))), case V44 of {'Idris.Prelude.Types.Left', E26} -> (fun (V45) -> {'Idris.Prelude.Types.Left', V45} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V46) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.PLet', V39, V40, V41, V42}, V7}, {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.Normalise':'un--gnf'(V0, V2, {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.PLet', V39, V40, V41, V42}, V46})), V9}}} end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E22, E23, E24, E25)); {'Idris.Core.TT.PVTy', E28, E29, E30} -> (fun (V47, V48, V49) -> fun (V50) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', {'Idris.Core.TT.Bind', V3, V4, {'Idris.Core.TT.PVTy', V47, V48, V49}, V7}, {'Idris.Builtin.MkPair', V6, V9}}} end end(E28, E29, E30)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--count'(V0, V1, V2) -> case V2 of {'Idris.Core.LinearCheck.Nil'} -> (fun () -> 0 end()); {'Idris.Core.LinearCheck.::', E0, E1} -> (fun (V3, V4) -> ('case--count-4078'('erased', V4, V3, V1, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V1, ('Idris.Idris2.Core.TT':'un--varIdx'('erased', V3)))))) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--checkEnvUsage'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V0 of [] -> case V6 of {'Idris.Core.Env.Nil'} -> (fun () -> fun (V9) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; [E0 | E1] -> (fun (V10, V11) -> case V6 of {'Idris.Core.Env.::', E2, E3} -> (fun (V12, V13) -> begin (V14 = ('un--localPrf'('erased', 'erased', V1))), begin (V15 = ('un--count'('erased', ('Idris.Idris2.Core.TT':'un--varIdx'('erased', V14)), V7))), fun (V16) -> begin (V25 = (('case--checkEnvUsage-11491'(V10, V11, V13, V12, V1, V8, V7, V5, V4, V3, V2, V14, V15, ('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'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'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V21) -> fun (V22) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V21, V22)) end end, fun (V23) -> fun (V24) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V23, V24)) end end}}, ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V12))))))(V16))), case V25 of {'Idris.Prelude.Types.Left', E4} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V27) -> begin (V36 = ('case--checkEnvUsage-11398'(V10, V11, V13, V12, V1, V8, V7, V5, V4, V3, V2, V14, V15, V27, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'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'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V32) -> fun (V33) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V32, V33)) end end, fun (V34) -> fun (V35) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V34, V35)) end end}}, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V12)), V5)))), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(V27, fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V15, ('Idris.Idris2.Prelude.Types':'dn--un--fromInteger_Num__Nat'(0)))) end)) end))))), begin (V37 = (('nested--15788-11348--in--un--checkUsageOK'(V10, V11, V13, V12, V1, V8, V7, V5, V4, V3, V2, V36, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V12)), V5))))(V16))), case V37 of {'Idris.Prelude.Types.Left', E6} -> (fun (V38) -> {'Idris.Prelude.Types.Left', V38} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V39) -> (('un--checkEnvUsage'(V11, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V1, [V10 | []])), V2, V3, V4, V5, V13, V7, V8))(V16)) end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--++'(V0, V1, V2) -> case V1 of {'Idris.Core.LinearCheck.Nil'} -> (fun () -> V2 end()); {'Idris.Core.LinearCheck.::', E0, E1} -> (fun (V3, V4) -> {'Idris.Core.LinearCheck.::', V3, ('un--++'('erased', V4, V2))} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end.