-module('Idris.Idris2.Core.Normalise'). -compile('no_auto_import'). -compile('inline'). -compile({'inline_size',24}). -export([ 'case--replace\x{27}-14663'/9, 'case--logEnv-14349'/8, 'case--logGlueNF-14137'/10, 'case--logGlue-14034'/10, 'case--logTermNF\x{27}-13925'/8, 'case--logNF-13820'/10, 'case--case block in convGen-13327'/14, 'case--convGen-13287'/14, 'case--case block in convGen-13193'/13, 'case--convGen-13152'/14, 'case--convGen-13081'/12, 'case--convGen-12978'/16, 'case--convGen-12891'/16, 'case--convGen-12822'/12, 'case--convGen-12560'/16, 'case--convBinders-12400'/8, 'case--convBinders-12327'/14, 'case--convBinders-12246'/14, 'case--chkConvHead-12155'/12, 'case--case block in case block in case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11358'/39, 'case--case block in case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11276'/38, 'case--case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11196'/37, 'case--case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11118'/36, 'case--case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11044'/31, 'case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'/26, 'case--case block in case block in case block in case block in chkConvCaseBlock-10931'/24, 'case--case block in case block in case block in chkConvCaseBlock-10878'/22, 'case--case block in case block in chkConvCaseBlock-10829'/21, 'case--case block in chkConvCaseBlock-10781'/17, 'case--chkConvCaseBlock-10740'/13, 'case--case block in case block in chkSameDefs-10529'/22, 'case--case block in chkSameDefs-10479'/16, 'case--chkSameDefs-10446'/10, 'case--case block in chkSameDefs,convertMatches-10296'/20, 'case--chkSameDefs,convertMatches-10253'/19, 'case--case block in getMatchingVars-10086'/11, 'case--getMatchingVars-10050'/10, 'case--getMatchingVarAlts-9942'/10, 'case--getMatchingVarAlt-9840'/10, 'case--case block in case block in getMatchingVarAlt-9693'/15, 'case--case block in getMatchingVarAlt-9652'/14, 'case--getMatchingVarAlt-9621'/14, 'case--tryUpdate-8910'/9, 'case--tryUpdate,findIdx-8839'/15, 'case--case block in etaContract,act-8476'/20, 'case--etaContract,act-8412'/6, 'case--quoteGenNF-7772'/12, 'case--quoteGenNF,toHolesOnly-7685'/17, 'case--quoteHead-7214'/11, 'case--quoteHead,findName-7167'/15, 'case--case block in quoteHead,findName-7105'/16, 'case--quoteHead,findName-7024'/16, 'case--quoteHead-6964'/14, 'case--quoteHead,addLater-6908'/19, 'case--case block in case block in evalDef-6360'/20, 'case--case block in evalDef-6269'/18, 'case--evalDef-6229'/18, 'case--case block in evalOp-6136'/11, 'case--evalOp-6101'/9, 'case--argsFromStack-6032'/8, 'case--case block in evalTree-5903'/13, 'case--evalTree-5776'/13, 'case--findAlt-5564'/14, 'case--tryAlt-5442'/13, 'case--tryAlt-5321'/15, 'case--tryAlt-5146'/16, 'case--tryAlt-5038'/20, 'case--tryAlt-4939'/20, 'case--evalConAlt-4861'/14, 'case--case block in case block in case block in evalRef-4592'/20, 'case--case block in case block in evalRef-4547'/18, 'case--case block in evalRef-4506'/17, 'case--evalRef-4445'/12, 'case--case block in evalLocal-4218'/13, 'case--evalLocal-4184'/13, 'case--eval-3996'/12, 'case--eval-3874'/13, 'case--eval-3703'/17, 'case--case block in case block in updateLimit-3489'/3, 'case--case block in updateLimit-3447'/3, 'case--updateLimit-3434'/3, 'case--updateLimit,set-3388'/8, 'case--useMeta-3338'/5, 'case--case block in useMeta-3309'/4, 'case--useMeta-3283'/5, 'nested--13624-9432--in--un--weakenP'/18, 'nested--13087-8983--in--un--weakenP'/9, 'nested--13087-8981--in--un--tryUpdatePi'/8, 'nested--13087-8982--in--un--tryUpdateB'/8, 'nested--11054-7663--in--un--toHolesOnly'/13, 'nested--7370-5941--in--un--takeStk'/9, 'nested--7196-3368--in--un--set'/5, 'nested--19307-14390--in--un--repSub'/9, 'nested--19307-14389--in--un--repArg'/10, 'nested--19144-14238--in--un--lvl'/6, 'nested--13640-10688--in--un--getScrutinee'/15, 'nested--13636-10202--in--un--getArgPos'/11, 'nested--11036-7008--in--un--findName'/12, 'nested--13087-8813--in--un--findIdx'/10, 'nested--13640-10687--in--un--findArgPos'/14, 'nested--13624-9433--in--un--extend'/16, 'nested--7372-6064--in--un--evalAll'/10, 'nested--19144-14239--in--un--dumpEnv'/8, 'nested--13624-9434--in--un--dropV'/16, 'nested--13624-9435--in--un--dropP'/16, 'nested--13636-10203--in--un--convertMatches'/12, 'nested--7367-5392--in--un--concrete'/13, 'nested--7359-3651--in--un--closeArgs'/13, 'nested--7360-4104--in--un--applyToStack'/11, 'nested--11036-6879--in--un--addLater'/17, 'nested--12696-8390--in--un--act'/6, 'dn--un--quote_Quote__Term'/6, 'dn--un--quote_Quote__NF'/6, 'dn--un--quote_Quote__Closure'/6, 'dn--un--quoteGen_Quote__Term'/7, 'dn--un--quoteGen_Quote__NF'/6, 'dn--un--quoteGen_Quote__Closure'/7, 'dn--un--convert_Convert__Term'/7, 'dn--un--convert_Convert__NF'/7, 'dn--un--convert_Convert__Closure'/7, 'dn--un--convGen_Convert__Term'/8, 'dn--un--convGen_Convert__NF'/7, 'dn--un--convGen_Convert__Closure'/8, 'dn--un--__Impl_Quote_Term'/0, 'dn--un--__Impl_Quote_NF'/0, 'dn--un--__Impl_Quote_Closure'/0, 'dn--un--__Impl_Convert_Term'/0, 'dn--un--__Impl_Convert_NF'/0, 'dn--un--__Impl_Convert_Closure'/0, 'un--useMeta'/5, 'un--updateLocal'/9, 'un--updateLimit'/3, 'un--tryUpdate'/4, 'un--tryAlt'/12, 'un--toClosure'/4, 'un--takeFromStack'/5, 'un--subRig'/2, 'un--replace\x{27}'/9, 'un--replace'/8, 'un--quotePi'/8, 'un--quoteHead'/9, 'un--quoteGenNF'/8, 'un--quoteGen'/4, 'un--quoteBinder'/8, 'un--quoteArgs'/8, 'un--quote'/4, 'un--normaliseScope'/5, 'un--normaliseOpts'/7, 'un--normaliseLHS'/5, 'un--normaliseHoles'/6, 'un--normaliseErr'/2, 'un--normaliseArgHoles'/6, 'un--normaliseAll'/6, 'un--normalise'/6, 'un--nfOpts'/6, 'un--nf'/5, 'un--logTermNF\x{27}'/7, 'un--logTermNF'/7, 'un--logNF'/8, 'un--logGlueNF'/8, 'un--logGlue'/8, 'un--logEnv'/7, 'un--isFromTerm'/2, 'un--gnfOpts'/4, 'un--gnf'/3, 'un--glueBack'/5, 'un--getValArity'/4, 'un--getTerm'/2, 'un--getNF'/3, 'un--getMatchingVars'/7, 'un--getMatchingVarAlts'/7, 'un--getMatchingVarAlt'/7, 'un--getCaseBound'/7, 'un--getArity'/6, 'un--genName'/3, 'un--gType'/2, 'un--gErased'/2, 'un--findAlt'/12, 'un--evalWithOpts'/9, 'un--evalTree'/11, 'un--evalRef'/11, 'un--evalOp'/8, 'un--evalMeta'/10, 'un--evalLocal'/13, 'un--evalLocClosure'/9, 'un--evalDef'/13, 'un--evalConAlt'/13, 'un--evalClosure'/4, 'un--evalArg'/4, 'un--eval'/9, 'un--etaContract'/4, 'un--convert'/4, 'un--convGen'/4, 'un--convBinders'/7, 'un--chkSameDefs'/10, 'un--chkConvHead'/7, 'un--chkConvCaseBlock'/10, 'un--argsFromStack'/5, 'un--allConv'/7, 'un--Stack'/1 ]). 'case--replace\x{27}-14663'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of 0 -> fun (V9) -> {'Idris.Prelude.Types.Right', V2} end; 1 -> ('nested--19307-14390--in--un--repSub'(V0, V1, V2, V3, V4, V5, V6, V7, V1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--logEnv-14349'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of 0 -> ('nested--19144-14239--in--un--dumpEnv'(V0, V1, V2, V3, V4, V5, V0, V1)); 1 -> fun (V8) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--logGlueNF-14137'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of 0 -> fun (V10) -> begin (V39 = begin (V38 = (('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 (V11) -> fun (V12) -> fun (V13) -> fun (V14) -> fun (V15) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V13, V14, V15)) end end end end end, fun (V16) -> fun (V17) -> fun (V18) -> V17 end end end, fun (V19) -> fun (V20) -> fun (V21) -> fun (V22) -> fun (V23) -> begin (V24 = (V21(V23))), begin (V25 = (V22(V23))), (V24(V25)) end end end end end end end}, fun (V26) -> fun (V27) -> fun (V28) -> fun (V29) -> fun (V30) -> begin (V31 = (V28(V30))), ((V29(V31))(V30)) end end end end end end, fun (V32) -> fun (V33) -> fun (V34) -> begin (V35 = (V33(V34))), (V35(V34)) end end end end}, fun (V36) -> fun (V37) -> V37 end end}, V6))(V10))), {'Idris.Prelude.Types.Right', V38} end), case V39 of {'Idris.Prelude.Types.Left', E0} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V41) -> begin (V42 = (('un--getTerm'('erased', V1))(V10))), case V42 of {'Idris.Prelude.Types.Left', E2} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V44) -> begin (V45 = ('un--normaliseHoles'(V6, V0, V41, V2, V44, V10))), case V45 of {'Idris.Prelude.Types.Left', E4} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V47) -> begin (V52 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V6, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V48) -> fun (V49) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V48, V49)) end end, fun (V50) -> fun (V51) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V50, V51)) end end}, V47, V10))), case V52 of {'Idris.Prelude.Types.Left', E6} -> (fun (V53) -> {'Idris.Prelude.Types.Left', V53} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V54) -> begin (V82 = (('Idris.Idris2.Prelude.IO':'un--putStrLn'('erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V55) -> fun (V56) -> fun (V57) -> fun (V58) -> fun (V59) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V57, V58, V59)) end end end end end, fun (V60) -> fun (V61) -> fun (V62) -> V61 end end end, fun (V63) -> fun (V64) -> fun (V65) -> fun (V66) -> fun (V67) -> begin (V68 = (V65(V67))), begin (V69 = (V66(V67))), (V68(V69)) end end end end end end end}, fun (V70) -> fun (V71) -> fun (V72) -> fun (V73) -> fun (V74) -> begin (V75 = (V72(V74))), ((V73(V75))(V74)) end end end end end end, fun (V76) -> fun (V77) -> fun (V78) -> begin (V79 = (V77(V78))), (V79(V78)) end end end end}, fun (V80) -> fun (V81) -> V81 end end}, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"LOG "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Options.Log':'dn--un--show_Show__LogLevel'(V8)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'((V3()), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V54))))))))))))))(V10))), {'Idris.Prelude.Types.Right', V82} end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V83) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--logGlue-14034'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of 0 -> fun (V10) -> begin (V39 = begin (V38 = (('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 (V11) -> fun (V12) -> fun (V13) -> fun (V14) -> fun (V15) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V13, V14, V15)) end end end end end, fun (V16) -> fun (V17) -> fun (V18) -> V17 end end end, fun (V19) -> fun (V20) -> fun (V21) -> fun (V22) -> fun (V23) -> begin (V24 = (V21(V23))), begin (V25 = (V22(V23))), (V24(V25)) end end end end end end end}, fun (V26) -> fun (V27) -> fun (V28) -> fun (V29) -> fun (V30) -> begin (V31 = (V28(V30))), ((V29(V31))(V30)) end end end end end end, fun (V32) -> fun (V33) -> fun (V34) -> begin (V35 = (V33(V34))), (V35(V34)) end end end end}, fun (V36) -> fun (V37) -> V37 end end}, V6))(V10))), {'Idris.Prelude.Types.Right', V38} end), case V39 of {'Idris.Prelude.Types.Left', E0} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V41) -> begin (V42 = (('un--getTerm'('erased', V1))(V10))), case V42 of {'Idris.Prelude.Types.Left', E2} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V44) -> begin (V49 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V6, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V45) -> fun (V46) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V45, V46)) end end, fun (V47) -> fun (V48) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V47, V48)) end end}, V44, V10))), 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 (V79 = (('Idris.Idris2.Prelude.IO':'un--putStrLn'('erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V52) -> fun (V53) -> fun (V54) -> fun (V55) -> fun (V56) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V54, V55, V56)) end end end end end, fun (V57) -> fun (V58) -> fun (V59) -> V58 end end end, fun (V60) -> fun (V61) -> fun (V62) -> fun (V63) -> fun (V64) -> begin (V65 = (V62(V64))), begin (V66 = (V63(V64))), (V65(V66)) end end end end end end end}, fun (V67) -> fun (V68) -> fun (V69) -> fun (V70) -> fun (V71) -> begin (V72 = (V69(V71))), ((V70(V72))(V71)) end end end end end end, fun (V73) -> fun (V74) -> fun (V75) -> begin (V76 = (V74(V75))), (V76(V75)) end end end end}, fun (V77) -> fun (V78) -> V78 end end}, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"LOG "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Options.Log':'dn--un--show_Show__LogLevel'(V8)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'((V3()), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V51))))))))))))))(V10))), {'Idris.Prelude.Types.Right', V79} 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 end; 1 -> fun (V80) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--logTermNF\x{27}-13925'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 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}, V5))(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 (V40 = ('un--normaliseHoles'(V5, V0, V39, V2, V1, V8))), case V40 of {'Idris.Prelude.Types.Left', E2} -> (fun (V41) -> {'Idris.Prelude.Types.Left', V41} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V42) -> begin (V47 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V5, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V43) -> fun (V44) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V43, V44)) end end, fun (V45) -> fun (V46) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V45, V46)) end end}, V42, V8))), case V47 of {'Idris.Prelude.Types.Left', E4} -> (fun (V48) -> {'Idris.Prelude.Types.Left', V48} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V49) -> begin (V77 = (('Idris.Idris2.Prelude.IO':'un--putStrLn'('erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V50) -> fun (V51) -> fun (V52) -> fun (V53) -> fun (V54) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V52, V53, V54)) end end end end end, fun (V55) -> fun (V56) -> fun (V57) -> V56 end end end, fun (V58) -> fun (V59) -> fun (V60) -> fun (V61) -> fun (V62) -> begin (V63 = (V60(V62))), begin (V64 = (V61(V62))), (V63(V64)) end end end end end end end}, fun (V65) -> fun (V66) -> fun (V67) -> fun (V68) -> fun (V69) -> begin (V70 = (V67(V69))), ((V68(V70))(V69)) end end end end end end, fun (V71) -> fun (V72) -> fun (V73) -> begin (V74 = (V72(V73))), (V74(V73)) end end end end}, fun (V75) -> fun (V76) -> V76 end end}, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"LOG "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Options.Log':'dn--un--show_Show__LogLevel'(V4)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'((V3()), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V49))))))))))))))(V8))), {'Idris.Prelude.Types.Right', V77} 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 end; 1 -> fun (V78) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--logNF-13820'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of 0 -> fun (V10) -> begin (V39 = begin (V38 = (('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 (V11) -> fun (V12) -> fun (V13) -> fun (V14) -> fun (V15) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V13, V14, V15)) end end end end end, fun (V16) -> fun (V17) -> fun (V18) -> V17 end end end, fun (V19) -> fun (V20) -> fun (V21) -> fun (V22) -> fun (V23) -> begin (V24 = (V21(V23))), begin (V25 = (V22(V23))), (V24(V25)) end end end end end end end}, fun (V26) -> fun (V27) -> fun (V28) -> fun (V29) -> fun (V30) -> begin (V31 = (V28(V30))), ((V29(V31))(V30)) end end end end end end, fun (V32) -> fun (V33) -> fun (V34) -> begin (V35 = (V33(V34))), (V35(V34)) end end end end}, fun (V36) -> fun (V37) -> V37 end end}, V6))(V10))), {'Idris.Prelude.Types.Right', V38} end), case V39 of {'Idris.Prelude.Types.Left', E0} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V41) -> begin (V42 = ('dn--un--quote_Quote__NF'(V6, V0, V41, V2, V1, V10))), case V42 of {'Idris.Prelude.Types.Left', E2} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V44) -> begin (V49 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V6, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V45) -> fun (V46) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(Term $vars)'('erased', V45, V46)) end end, fun (V47) -> fun (V48) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(Term $vars)'('erased', V47, V48)) end end}, V44, V10))), 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 (V79 = (('Idris.Idris2.Prelude.IO':'un--putStrLn'('erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V52) -> fun (V53) -> fun (V54) -> fun (V55) -> fun (V56) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V54, V55, V56)) end end end end end, fun (V57) -> fun (V58) -> fun (V59) -> V58 end end end, fun (V60) -> fun (V61) -> fun (V62) -> fun (V63) -> fun (V64) -> begin (V65 = (V62(V64))), begin (V66 = (V63(V64))), (V65(V66)) end end end end end end end}, fun (V67) -> fun (V68) -> fun (V69) -> fun (V70) -> fun (V71) -> begin (V72 = (V69(V71))), ((V70(V72))(V71)) end end end end end end, fun (V73) -> fun (V74) -> fun (V75) -> begin (V76 = (V74(V75))), (V76(V75)) end end end end}, fun (V77) -> fun (V78) -> V78 end end}, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"LOG "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Options.Log':'dn--un--show_Show__LogLevel'(V8)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'((V3()), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": "/utf8>>, ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V0, V51))))))))))))))(V10))), {'Idris.Prelude.Types.Right', V79} 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 end; 1 -> fun (V80) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in convGen-13327'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> ('un--allConv'(V12, V0, V11, V10, V9, V3, V6)); 1 -> fun (V14) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convGen-13287'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> begin (V15 = (('dn--un--convGen_Convert__NF'(V12, V0, V11, V10, V9, V4, V7))(V14))), case V15 of {'Idris.Prelude.Types.Left', E0} -> (fun (V16) -> {'Idris.Prelude.Types.Left', V16} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V17) -> case V17 of 0 -> (('un--allConv'(V12, V0, V11, V10, V9, V3, V6))(V14)); 1 -> {'Idris.Prelude.Types.Right', 1}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V18) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in convGen-13193'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V6 of {'Idris.Core.TT.LLazy'} -> (fun () -> fun (V13) -> {'Idris.Prelude.Types.Right', V10} end end()); _ -> fun (V14) -> ('Idris.Idris2.Core.Context':'un--clearDefs'(V10, V14)) end end. 'case--convGen-13152'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> begin (V15 = case V6 of {'Idris.Core.TT.LLazy'} -> (fun () -> {'Idris.Prelude.Types.Right', V10} end()); _ -> ('Idris.Idris2.Core.Context':'un--clearDefs'(V10, V14)) end), case V15 of {'Idris.Prelude.Types.Left', E0} -> (fun (V16) -> {'Idris.Prelude.Types.Left', V16} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V17) -> ('dn--un--convGen_Convert__Closure'(V12, V0, V11, V17, V9, V5, V7, V14)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V18) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convGen-13081'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of 0 -> ('dn--un--convGen_Convert__NF'(V10, V0, V9, V8, V7, V3, V5)); 1 -> fun (V12) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convGen-12978'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of 0 -> ('un--allConv'(V14, V0, V13, V12, V11, V5, V8)); 1 -> fun (V16) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convGen-12891'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of 0 -> ('un--allConv'(V14, V0, V13, V12, V11, V5, V8)); 1 -> fun (V16) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convGen-12822'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of 0 -> ('un--allConv'(V10, V0, V9, V8, V7, V2, V5)); 1 -> ('un--chkConvCaseBlock'(V10, V0, V4, V9, V8, V7, V3, V2, V6, V5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convGen-12560'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of 0 -> fun (V16) -> begin (V17 = (((V2(V10))(V14))(V16))), case V17 of {'Idris.Prelude.Types.Left', E0} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V19) -> begin (V20 = (((V6(V10))(V14))(V16))), case V20 of {'Idris.Prelude.Types.Left', E2} -> (fun (V21) -> {'Idris.Prelude.Types.Left', V21} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V22) -> (('dn--un--convGen_Convert__NF'(V12, V0, V11, V10, V9, V19, V22))(V16)) end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V23) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convBinders-12400'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of 0 -> fun (V8) -> {'Idris.Prelude.Types.Right', 1} end; 1 -> ('dn--un--convGen_Convert__NF'(V6, V0, V5, V4, V3, ('Idris.Idris2.Core.TT':'un--binderType'('erased', V2)), ('Idris.Idris2.Core.TT':'un--binderType'('erased', V1)))); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convBinders-12327'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', 1} end; 1 -> ('dn--un--convGen_Convert__NF'(V12, V0, V11, V10, V9, V3, V6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--convBinders-12246'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> fun (V14) -> {'Idris.Prelude.Types.Right', 1} end; 1 -> ('dn--un--convGen_Convert__NF'(V12, V0, V11, V10, V9, V3, V6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--chkConvHead-12155'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of 0 -> ('un--allConv'(V10, V0, V9, V8, V7, V1, V4)); 1 -> fun (V12) -> {'Idris.Prelude.Types.Right', 1} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11358'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38) -> case V38 of {'Idris.Prelude.Types.Just', E0} -> (fun (V39) -> fun (V40) -> begin (V41 = ('dn--un--convGen_Convert__Closure'(V11, V0, V9, V8, V7, V37, V39, V40))), case V41 of {'Idris.Prelude.Types.Left', E1} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V43) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.FC':'dn--un--==_Eq__FC'(case V21 of {'Idris.Core.Context.MkGlobalDef', E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23} -> (fun (V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64) -> V44 end(E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V23 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 (V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85) -> V65 end(E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))} end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V86) -> {'Idris.Prelude.Types.Right', 1} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11276'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37) -> case V37 of {'Idris.Prelude.Types.Just', E0} -> (fun (V38) -> ('case--case block in case block in case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11358'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V38, ('nested--13640-10688--in--un--getScrutinee'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, 'erased', V36, V5)))) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V39) -> {'Idris.Prelude.Types.Right', 1} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11196'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36) -> case V36 of {'Idris.Prelude.Types.Just', E0} -> (fun (V37) -> ('case--case block in case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11276'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V37, ('nested--13640-10688--in--un--getScrutinee'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, 'erased', V35, V6)))) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V38) -> {'Idris.Prelude.Types.Right', 1} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11118'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35) -> case V35 of {'Idris.Prelude.Types.Just', E0} -> (fun (V36) -> ('case--case block in case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11196'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V36, ('nested--13640-10687--in--un--findArgPos'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, 'erased', V34)))) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V37) -> {'Idris.Prelude.Types.Right', 1} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11044'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30) -> case V30 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V31, V32, V33, V34, V35) -> ('case--case block in case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11118'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V31, V32, V34, V35, V33, ('nested--13640-10687--in--un--findArgPos'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, 'erased', V29)))) end(E0, E1, E2, E3, E4)); _ -> fun (V36) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25) -> case V25 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V26, V27, V28, V29, V30) -> ('case--case block in case block in case block in case block in case block in case block in chkConvCaseBlock-11044'(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, V26, V27, V29, V30, V28, case V23 of {'Idris.Core.Context.MkGlobalDef', E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51) -> V48 end(E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end(E0, E1, E2, E3, E4)); _ -> fun (V52) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--case block in case block in case block in case block in chkConvCaseBlock-10931'(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.Prelude.Types.Just', E0} -> (fun (V24) -> begin (V25 = {'Idris.Prelude.Types.Just', V24}), ('case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V24, V25, case V21 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 (V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46) -> V43 end(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end end(E0)); _ -> fun (V47) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--case block in case block in case block in chkConvCaseBlock-10878'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21) -> case V21 of {'Idris.Prelude.Types.Just', E0} -> (fun (V22) -> fun (V23) -> begin (V50 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V4, case V8 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 (V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49) -> V24 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))(V23))), case V50 of {'Idris.Prelude.Types.Left', E27} -> (fun (V51) -> {'Idris.Prelude.Types.Left', V51} end(E27)); {'Idris.Prelude.Types.Right', E28} -> (fun (V52) -> begin (V53 = {'Idris.Prelude.Types.Just', V22}), case V52 of {'Idris.Prelude.Types.Just', E29} -> (fun (V54) -> begin (V55 = {'Idris.Prelude.Types.Just', V54}), (('case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V22, V53, V54, V55, case V22 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 (V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76) -> V73 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))(V23)) end end(E29)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E28)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); _ -> fun (V77) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--case block in case block in chkConvCaseBlock-10829'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20) -> case V20 of 1 -> fun (V21) -> begin (V48 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V3, case V8 of {'Idris.Core.Context.MkDefs', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47) -> V22 end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V21))), case V48 of {'Idris.Prelude.Types.Left', E26} -> (fun (V49) -> {'Idris.Prelude.Types.Left', V49} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V50) -> begin (V51 = 1), case V50 of {'Idris.Prelude.Types.Just', E28} -> (fun (V52) -> begin (V79 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V4, case V8 of {'Idris.Core.Context.MkDefs', E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54} -> (fun (V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78) -> V53 end(E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V21))), case V79 of {'Idris.Prelude.Types.Left', E55} -> (fun (V80) -> {'Idris.Prelude.Types.Left', V80} end(E55)); {'Idris.Prelude.Types.Right', E56} -> (fun (V81) -> begin (V82 = {'Idris.Prelude.Types.Just', V52}), case V81 of {'Idris.Prelude.Types.Just', E57} -> (fun (V83) -> begin (V84 = {'Idris.Prelude.Types.Just', V83}), (('case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V51, V52, V82, V83, V84, case V52 of {'Idris.Core.Context.MkGlobalDef', E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78} -> (fun (V85, V86, V87, V88, V89, V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105) -> V102 end(E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V21)) end end(E57)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E56)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E28)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 0 -> fun (V106) -> {'Idris.Prelude.Types.Right', 0} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in chkConvCaseBlock-10781'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16) -> case V16 of {'Idris.Core.Name.NS', E0, E1} -> (fun (V17, V18) -> case V18 of {'Idris.Core.Name.CaseBlock', E2, E3} -> (fun (V19, V20) -> fun (V21) -> begin (V22 = ('un--chkSameDefs'(V11, V0, V9, V8, V7, V3, V4, V6, V5, V21))), case V22 of {'Idris.Prelude.Types.Left', E4} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V24) -> begin (V25 = {'Idris.Core.Name.NS', V17, {'Idris.Core.Name.CaseBlock', V19, V20}}), case V24 of 1 -> begin (V52 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V3, case V8 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 (V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51) -> V26 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))(V21))), case V52 of {'Idris.Prelude.Types.Left', E32} -> (fun (V53) -> {'Idris.Prelude.Types.Left', V53} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V54) -> begin (V55 = 1), case V54 of {'Idris.Prelude.Types.Just', E34} -> (fun (V56) -> begin (V83 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V4, case V8 of {'Idris.Core.Context.MkDefs', E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60} -> (fun (V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82) -> V57 end(E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V21))), case V83 of {'Idris.Prelude.Types.Left', E61} -> (fun (V84) -> {'Idris.Prelude.Types.Left', V84} end(E61)); {'Idris.Prelude.Types.Right', E62} -> (fun (V85) -> begin (V86 = {'Idris.Prelude.Types.Just', V56}), case V85 of {'Idris.Prelude.Types.Just', E63} -> (fun (V87) -> begin (V88 = {'Idris.Prelude.Types.Just', V87}), (('case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V17, V19, V20, V25, V55, V56, V86, V87, V88, case V56 of {'Idris.Core.Context.MkGlobalDef', E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84} -> (fun (V89, V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109) -> V106 end(E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V21)) end end(E63)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E62)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E34)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 0 -> {'Idris.Prelude.Types.Right', 0}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> fun (V110) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1)); _ -> fun (V111) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--chkConvCaseBlock-10740'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Core.Name.NS', E0, E1} -> (fun (V13, V14) -> case V14 of {'Idris.Core.Name.CaseBlock', E2, E3} -> (fun (V15, V16) -> fun (V17) -> begin (V44 = (('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(case V8 of {'Idris.Core.Context.MkDefs', E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29} -> (fun (V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43) -> V18 end(E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V4))(V17))), case V44 of {'Idris.Prelude.Types.Left', E30} -> (fun (V45) -> {'Idris.Prelude.Types.Left', V45} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V46) -> begin (V47 = {'Idris.Core.Name.NS', V13, {'Idris.Core.Name.CaseBlock', V15, V16}}), case V46 of {'Idris.Core.Name.NS', E32, E33} -> (fun (V48, V49) -> case V49 of {'Idris.Core.Name.CaseBlock', E34, E35} -> (fun (V50, V51) -> begin (V52 = ('un--chkSameDefs'(V11, V0, V9, V8, V7, V3, V4, V6, V5, V17))), case V52 of {'Idris.Prelude.Types.Left', E36} -> (fun (V53) -> {'Idris.Prelude.Types.Left', V53} end(E36)); {'Idris.Prelude.Types.Right', E37} -> (fun (V54) -> begin (V55 = {'Idris.Core.Name.NS', V48, {'Idris.Core.Name.CaseBlock', V50, V51}}), case V54 of 1 -> begin (V82 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V3, case V8 of {'Idris.Core.Context.MkDefs', E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63} -> (fun (V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81) -> V56 end(E38, E39, E40, E41, E42, 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))(V17))), case V82 of {'Idris.Prelude.Types.Left', E64} -> (fun (V83) -> {'Idris.Prelude.Types.Left', V83} end(E64)); {'Idris.Prelude.Types.Right', E65} -> (fun (V84) -> begin (V85 = 1), case V84 of {'Idris.Prelude.Types.Just', E66} -> (fun (V86) -> begin (V113 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V4, case V8 of {'Idris.Core.Context.MkDefs', E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92} -> (fun (V87, 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) -> V87 end(E67, E68, E69, E70, E71, 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))(V17))), case V113 of {'Idris.Prelude.Types.Left', E93} -> (fun (V114) -> {'Idris.Prelude.Types.Left', V114} end(E93)); {'Idris.Prelude.Types.Right', E94} -> (fun (V115) -> begin (V116 = {'Idris.Prelude.Types.Just', V86}), case V115 of {'Idris.Prelude.Types.Just', E95} -> (fun (V117) -> begin (V118 = {'Idris.Prelude.Types.Just', V117}), (('case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V13, V15, V16, V47, V48, V50, V51, V55, V85, V86, V116, V117, V118, case V86 of {'Idris.Core.Context.MkGlobalDef', E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116} -> (fun (V119, V120, V121, V122, V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139) -> V136 end(E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V17)) end end(E95)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E94)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E66)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E65)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 0 -> {'Idris.Prelude.Types.Right', 0}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E34, E35)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E32, E33)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> fun (V140) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1)); _ -> fun (V141) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--case block in case block in chkSameDefs-10529'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21) -> case V21 of {'Idris.Prelude.Types.Just', E0} -> (fun (V22) -> ('nested--13636-10203--in--un--convertMatches'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V11, V17, V22)) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V23) -> {'Idris.Prelude.Types.Right', 1} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in chkSameDefs-10479'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of {'Idris.Prelude.Types.Just', E0} -> (fun (V16) -> case V16 of {'Idris.Core.Context.PMDef', E1, E2, E3, E4, E5} -> (fun (V17, V18, V19, V20, V21) -> fun (V22) -> begin (V23 = (('un--getMatchingVars'(V8, V11, V18, V6, [], V13, V19))(V22))), case V23 of {'Idris.Prelude.Types.Left', E6} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V25) -> case V25 of {'Idris.Prelude.Types.Just', E8} -> (fun (V26) -> (('nested--13636-10203--in--un--convertMatches'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V11, V18, V26))(V22)) end(E8)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', 1} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E1, E2, E3, E4, E5)); _ -> fun (V27) -> {'Idris.Prelude.Types.Right', 1} end end end(E0)); _ -> fun (V28) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--chkSameDefs-10446'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Prelude.Types.Just', E0} -> (fun (V10) -> case V10 of {'Idris.Core.Context.PMDef', E1, E2, E3, E4, E5} -> (fun (V11, V12, V13, V14, V15) -> fun (V16) -> begin (V43 = ('Idris.Idris2.Core.Context':'un--lookupDefExact'(V3, case V6 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 (V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42) -> V17 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, V16))), case V43 of {'Idris.Prelude.Types.Left', E32} -> (fun (V44) -> {'Idris.Prelude.Types.Left', V44} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V45) -> case V45 of {'Idris.Prelude.Types.Just', E34} -> (fun (V46) -> case V46 of {'Idris.Core.Context.PMDef', E35, E36, E37, E38, E39} -> (fun (V47, V48, V49, V50, V51) -> begin (V52 = (('un--getMatchingVars'(V8, V12, V48, V6, [], V13, V49))(V16))), case V52 of {'Idris.Prelude.Types.Left', E40} -> (fun (V53) -> {'Idris.Prelude.Types.Left', V53} end(E40)); {'Idris.Prelude.Types.Right', E41} -> (fun (V54) -> case V54 of {'Idris.Prelude.Types.Just', E42} -> (fun (V55) -> (('nested--13636-10203--in--un--convertMatches'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V12, V48, V55))(V16)) end(E42)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', 1} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E35, E36, E37, E38, E39)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E34)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E1, E2, E3, E4, E5)); _ -> fun (V56) -> {'Idris.Prelude.Types.Right', 1} end end end(E0)); _ -> fun (V57) -> {'Idris.Prelude.Types.Right', 1} end end. 'case--case block in chkSameDefs,convertMatches-10296'(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 = ('dn--un--convGen_Convert__Closure'(V8, V0, V7, V6, V5, V18, V20, 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) -> begin (V25 = (('nested--13636-10203--in--un--convertMatches'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V17))(V21))), case V25 of {'Idris.Prelude.Types.Left', E3} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V27) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--&&'(V24, fun () -> V27 end))} end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V28) -> {'Idris.Prelude.Types.Right', 1} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--chkSameDefs,convertMatches-10253'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18) -> case V18 of {'Idris.Prelude.Types.Just', E0} -> (fun (V19) -> ('case--case block in chkSameDefs,convertMatches-10296'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, 'erased', 'erased', V13, 'erased', V15, 'erased', V17, V19, ('nested--13636-10202--in--un--getArgPos'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V15, V1)))) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V20) -> {'Idris.Prelude.Types.Right', 1} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in getMatchingVars-10086'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of 0 -> fun (V11) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V6}} end; 1 -> fun (V12) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--getMatchingVars-10050'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Prelude.Types.Just', E0} -> (fun (V10) -> fun (V11) -> begin (V12 = ('dn--un--convert_Convert__Term'(V8, V1, V7, ('Idris.Idris2.Core.Env':'un--mkEnv'(('Idris.Idris2.Core.TT':'un--getLoc'('erased', V2)), V1)), V10, V4, V11))), case V12 of {'Idris.Prelude.Types.Left', E1} -> (fun (V13) -> {'Idris.Prelude.Types.Left', V13} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V14) -> case V14 of 0 -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V6}}; 1 -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--getMatchingVarAlts-9942'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Prelude.Types.Just', E0} -> (fun (V10) -> ('un--getMatchingVarAlts'(V8, V0, V1, V7, V10, V3, V5)) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V11) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--getMatchingVarAlt-9840'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of 0 -> ('un--getMatchingVars'(V0, V1, V2, V8, V7, V3, V5)); 1 -> fun (V10) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in getMatchingVarAlt-9693'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of {'Idris.Prelude.Types.Just', E0} -> (fun (V15) -> fun (V16) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', ('Idris.Idris2.Data.List':'un--mapMaybe'('erased', 'erased', fun (V17) -> ('nested--13624-9435--in--un--dropP'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V2, V6, V17)) end, V15))}} end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V18) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in getMatchingVarAlt-9652'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Prelude.Types.Just', E0} -> (fun (V14) -> fun (V15) -> begin (V16 = (('un--getMatchingVars'(V12, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V2, V0)), ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V6, V1)), V11, V14, V3, V7))(V15))), case V16 of {'Idris.Prelude.Types.Left', E1} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V18) -> case V18 of {'Idris.Prelude.Types.Just', E3} -> (fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', ('Idris.Idris2.Data.List':'un--mapMaybe'('erased', 'erased', fun (V20) -> ('nested--13624-9435--in--un--dropP'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V2, V6, V20)) end, V19))}} end(E3)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V21) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--getMatchingVarAlt-9621'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of 0 -> ('case--case block in getMatchingVarAlt-9652'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, ('nested--13624-9433--in--un--extend'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V2, V6, V10)))); 1 -> fun (V14) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--tryUpdate-8910'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Local', V6, V5, V8})). 'case--tryUpdate,findIdx-8839'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of 0 -> {'Idris.Prelude.Types.Just', V11}; 1 -> ('nested--13087-8813--in--un--findIdx'(V0, V1, 'erased', V3, 'erased', V5, V6, V7, V12, V13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in etaContract,act-8476'(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.Nothing'} -> (fun () -> fun (V20) -> begin (V21 = (('Idris.Idris2.Core.Context.Log':'un--log'(V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Failure!"/utf8>> end))(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', V17} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end()); {'Idris.Prelude.Types.Just', E2} -> (fun (V24) -> fun (V25) -> begin (V26 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V3, V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Success!"/utf8>> end, V24, V25))), case V26 of {'Idris.Prelude.Types.Left', E3} -> (fun (V27) -> {'Idris.Prelude.Types.Left', V27} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V28) -> {'Idris.Prelude.Types.Right', V24} end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--etaContract,act-8412'(V0, V1, V2, V3, V4, V5) -> case V4 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V6, V7, V8, V9) -> case V8 of {'Idris.Core.TT.Lam', E4, E5, E6, E7} -> (fun (V10, V11, V12, V13) -> case V9 of {'Idris.Core.TT.App', E8, E9, E10} -> (fun (V14, V15, V16) -> case V16 of {'Idris.Core.TT.Local', E11, E12, E13} -> (fun (V17, V18, V19) -> case V19 of 0 -> fun (V20) -> begin (V21 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'([V7 | V3], V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Shrinking candidate"/utf8>> end, V15, V20))), case V21 of {'Idris.Prelude.Types.Left', E14} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V23) -> begin (V24 = ('Idris.Idris2.Core.TT':'un--shrinkTerm'('erased', 'erased', V15, {'Idris.Core.TT.DropCons', {'Idris.Core.TT.SubRefl'}}))), begin (V25 = {'Idris.Core.TT.Bind', V6, V7, {'Idris.Core.TT.Lam', V10, V11, V12, V13}, {'Idris.Core.TT.App', V14, V15, {'Idris.Core.TT.Local', V17, V18, 0}}}), case V24 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V26 = (('Idris.Idris2.Core.Context.Log':'un--log'(V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Failure!"/utf8>> end))(V20))), case V26 of {'Idris.Prelude.Types.Left', E16} -> (fun (V27) -> {'Idris.Prelude.Types.Left', V27} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V28) -> {'Idris.Prelude.Types.Right', V25} end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end()); {'Idris.Prelude.Types.Just', E18} -> (fun (V29) -> begin (V30 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V3, V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Success!"/utf8>> end, V29, V20))), case V30 of {'Idris.Prelude.Types.Left', E19} -> (fun (V31) -> {'Idris.Prelude.Types.Left', V31} end(E19)); {'Idris.Prelude.Types.Right', E20} -> (fun (V32) -> {'Idris.Prelude.Types.Right', V29} end(E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E18)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> fun (V33) -> {'Idris.Prelude.Types.Right', V4} end end end(E11, E12, E13)); _ -> fun (V34) -> {'Idris.Prelude.Types.Right', V4} end end end(E8, E9, E10)); _ -> fun (V35) -> {'Idris.Prelude.Types.Right', V4} end end end(E4, E5, E6, E7)); _ -> fun (V36) -> {'Idris.Prelude.Types.Right', V4} end end end(E0, E1, E2, E3)); _ -> fun (V37) -> {'Idris.Prelude.Types.Right', V4} end end. 'case--quoteGenNF-7772'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V3 of {'Idris.Core.Value.NDelay', E2, E3, E4, E5} -> (fun (V12, V13, V14, V15) -> fun (V16) -> begin (V17 = (('un--evalClosure'(V10, V1, V8, V15))(V16))), case V17 of {'Idris.Prelude.Types.Left', E6} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V19) -> begin (V20 = (('un--quoteGenNF'(V10, V0, V1, V9, V8, V7, V6, V19))(V16))), case V20 of {'Idris.Prelude.Types.Left', E8} -> (fun (V21) -> {'Idris.Prelude.Types.Left', V21} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V22) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V12, V22, V11))} end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3, E4, E5)); _ -> fun (V23) -> begin (V24 = (('un--quoteGenNF'(V10, V0, V1, V9, V8, V7, V6, V3))(V23))), case V24 of {'Idris.Prelude.Types.Left', E0} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V26) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V5, {'Idris.Core.TT.TForce', V5, V4, V26}, V11))} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'case--quoteGenNF,toHolesOnly-7685'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16) -> case V16 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V17, V18, V19, V20, V21, V22, V23, V24) -> {'Idris.Core.Value.MkEvalOpts', 0, 0, V19, V20, V21, V22, V23, V24} end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--quoteHead-7214'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Prelude.Types.Just', E0} -> (fun (V11) -> fun (V12) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Local', V6, {'Idris.Prelude.Types.Nothing'}, V11}} end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V13) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Ref', V6, {'Idris.Core.TT.Bound'}, {'Idris.Core.Name.MN', V3, V2}}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--quoteHead,findName-7167'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> {'Idris.Prelude.Types.Just', (1 + V14)}. 'case--case block in quoteHead,findName-7105'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> {'Idris.Prelude.Types.Just', (1 + V15)}. 'case--quoteHead,findName-7024'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of 0 -> {'Idris.Prelude.Types.Just', 0}; 1 -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--11036-7008--in--un--findName'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V13)), fun (V16) -> {'Idris.Prelude.Types.Just', (1 + V16)} end)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--quoteHead-6964'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Local', V8, V4, V12}}. 'case--quoteHead,addLater-6908'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18) -> (1 + V18). 'case--case block in case block in evalDef-6360'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19) -> case V19 of {'Idris.Core.Normalise.Result', E0} -> (fun (V20) -> fun (V21) -> {'Idris.Prelude.Types.Right', V20} end end(E0)); _ -> fun (V22) -> {'Idris.Prelude.Types.Right', (V8())} end end. 'case--case block in evalDef-6269'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V18) -> {'Idris.Prelude.Types.Right', (V8())} end end()); {'Idris.Prelude.Types.Just', E0} -> (fun (V19) -> case V19 of {'Idris.Builtin.MkPair', E1, E2} -> (fun (V20, V21) -> fun (V22) -> begin (V23 = (('un--evalTree'(V0, V1, V16, V3, V2, V15, V20, V14, V12, V21, V6))(V22))), case V23 of {'Idris.Prelude.Types.Left', E3} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V25) -> case V25 of {'Idris.Core.Normalise.Result', E5} -> (fun (V26) -> {'Idris.Prelude.Types.Right', V26} end(E5)); _ -> {'Idris.Prelude.Types.Right', (V8())} end end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E1, E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--evalDef-6229'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of 0 -> ('case--case block in evalDef-6269'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, ('un--argsFromStack'(V0, V1, 'erased', V3, V9)))); 1 -> fun (V18) -> {'Idris.Prelude.Types.Right', (V8())} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in evalOp-6136'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V11) -> {'Idris.Prelude.Types.Right', (V3())} end end()); {'Idris.Prelude.Types.Just', E0} -> (fun (V12) -> fun (V13) -> {'Idris.Prelude.Types.Right', V12} end end(E0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--evalOp-6101'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Prelude.Types.Just', E0} -> (fun (V9) -> case V9 of {'Idris.Builtin.MkPair', E1, E2} -> (fun (V10, V11) -> case V11 of [] -> fun (V12) -> begin (V13 = (('nested--7372-6064--in--un--evalAll'(V0, V1, V2, V3, V4, V5, V6, V7, 'erased', V10))(V12))), case V13 of {'Idris.Prelude.Types.Left', E3} -> (fun (V14) -> {'Idris.Prelude.Types.Left', V14} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V15) -> (('case--case block in evalOp-6136'(V0, V1, V2, V3, V4, V5, V6, V7, V10, V15, (V6(V15))))(V12)) end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> fun (V16) -> {'Idris.Prelude.Types.Right', (V3())} end end end(E1, E2)); _ -> fun (V17) -> {'Idris.Prelude.Types.Right', (V3())} end end end(E0)); _ -> fun (V18) -> {'Idris.Prelude.Types.Right', (V3())} end end. 'case--argsFromStack-6032'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V8, V9) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Builtin.MkPair', {'Idris.Core.Value.::', V5, V8}, V9})) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in evalTree-5903'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V8 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V13, V14, V15, V16, V17, V18, V19, V20) -> {'Idris.Core.Value.MkEvalOpts', V13, V14, V15, V16, V17, V18, {'Idris.Prelude.Types.Just', V12}, V20} end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--evalTree-5776'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V13) -> begin (V14 = (('un--evalWithOpts'(V11, V3, V2, V0, V8, V10, V9, ('Idris.Idris2.Core.TT':'un--embed'('erased', 'erased', V5)), V6))(V13))), case V14 of {'Idris.Prelude.Types.Left', E0} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V16) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.Result', V16}} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end()); {'Idris.Prelude.Types.Just', E2} -> (fun (V17) -> case V17 of 0 -> fun (V18) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end; _ -> begin (V19 = (V17 - 1)), begin (V28 = case V8 of {'Idris.Core.Value.MkEvalOpts', E3, E4, E5, E6, E7, E8, E9, E10} -> (fun (V20, V21, V22, V23, V24, V25, V26, V27) -> {'Idris.Core.Value.MkEvalOpts', V20, V21, V22, V23, V24, V25, {'Idris.Prelude.Types.Just', V19}, V27} end(E3, E4, E5, E6, E7, E8, E9, E10)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), fun (V29) -> begin (V30 = (('un--evalWithOpts'(V11, V3, V2, V0, V28, V10, V9, ('Idris.Idris2.Core.TT':'un--embed'('erased', 'erased', V5)), V6))(V29))), case V30 of {'Idris.Prelude.Types.Left', E11} -> (fun (V31) -> {'Idris.Prelude.Types.Left', V31} end(E11)); {'Idris.Prelude.Types.Right', E12} -> (fun (V32) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.Result', V32}} end(E12)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--findAlt-5564'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Core.Normalise.Result', E0} -> (fun (V14) -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.Result', V14}} end end(E0)); {'Idris.Core.Normalise.NoMatch'} -> (fun () -> ('un--findAlt'(V0, V1, V12, V2, V3, V11, V10, V9, V8, V7, V6, V5)) end()); {'Idris.Core.Normalise.GotStuck'} -> (fun () -> fun (V16) -> begin (V25 = begin (V21 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V12, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V17) -> fun (V18) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseAlt $vars)'('erased', V17, V18)) end end, fun (V19) -> fun (V20) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseAlt $vars)'('erased', V19, V20)) end end}, V4, V16))), case V21 of {'Idris.Prelude.Types.Left', E1} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V23) -> ('Idris.Idris2.Core.Context.Log':'un--logC'(V12, <<"eval.casetree.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun (V24) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Got stuck matching "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Value':'dn--un--show_Show__(NF $free)'(V3, V6)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" against "/utf8>>, ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseAlt $vars)'(V2, V23))))))))} end, V16)) end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V25 of {'Idris.Prelude.Types.Left', E3} -> (fun (V26) -> {'Idris.Prelude.Types.Left', V26} end(E3)); {'Idris.Prelude.Types.Right', E4} -> (fun (V27) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end(E4)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--tryAlt-5442'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of 0 -> ('un--evalTree'(V0, V1, V11, V3, V2, V10, V9, V8, V7, V6, V4)); 1 -> fun (V13) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--tryAlt-5321'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V14 of 0 -> ('un--evalTree'(V0, V1, V2, V4, V3, V13, V12, V11, V10, V9, V7)); 1 -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.NoMatch'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--tryAlt-5146'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V15 of 0 -> ('un--evalTree'(V0, V1, V2, V4, V3, V14, V13, V12, V11, V10, V7)); 1 -> fun (V16) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.NoMatch'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--tryAlt-5038'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19) -> case V19 of 0 -> ('un--evalConAlt'(V0, V1, V18, V9, V2, V17, V16, V15, V14, V13, V8, V4, V10)); 1 -> fun (V20) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.NoMatch'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--tryAlt-4939'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19) -> case V19 of 0 -> ('un--evalConAlt'(V0, V1, V18, V9, V2, V17, V16, V15, V14, V13, V8, V4, V10)); 1 -> fun (V20) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.NoMatch'}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--evalConAlt-4861'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Prelude.Types.Just', E0} -> (fun (V14) -> ('un--evalTree'(V0, V1, V12, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V4, V2)), V3, V11, V14, V9, V8, V7, V5)) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in case block in evalRef-4592'(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) -> ('un--evalDef'(V0, V1, V10, V2, V9, V20, V8, V7, case V11 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 (V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41) -> V28 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, case V11 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 (V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62) -> V59 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, case V11 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 (V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83) -> V74 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, V4, V3)) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V84) -> begin (V85 = (('Idris.Idris2.Core.Context.Log':'un--log'(V10, <<"eval.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Function "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V5)), <<" past reduction limit"/utf8>>)))) end))(V84))), case V85 of {'Idris.Prelude.Types.Left', E64} -> (fun (V86) -> {'Idris.Prelude.Types.Left', V86} end(E64)); {'Idris.Prelude.Types.Right', E65} -> (fun (V87) -> {'Idris.Prelude.Types.Right', (V3())} end(E65)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in evalRef-4547'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of {'Idris.Prelude.Types.Just', E0} -> (fun (V18) -> fun (V19) -> begin (V20 = (('un--updateLimit'(V6, V5, V18))(V19))), case V20 of {'Idris.Prelude.Types.Left', E1} -> (fun (V21) -> {'Idris.Prelude.Types.Left', V21} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V22) -> case V22 of {'Idris.Prelude.Types.Just', E3} -> (fun (V23) -> (('un--evalDef'(V0, V1, V10, V2, V9, V23, V8, V7, case V11 of {'Idris.Core.Context.MkGlobalDef', E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24} -> (fun (V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44) -> V31 end(E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V11 of {'Idris.Core.Context.MkGlobalDef', E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45} -> (fun (V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65) -> V62 end(E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V11 of {'Idris.Core.Context.MkGlobalDef', E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66} -> (fun (V66, V67, V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86) -> V77 end(E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V4, V3))(V19)) end(E3)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V87 = (('Idris.Idris2.Core.Context.Log':'un--log'(V10, <<"eval.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Function "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V5)), <<" past reduction limit"/utf8>>)))) end))(V19))), case V87 of {'Idris.Prelude.Types.Left', E67} -> (fun (V88) -> {'Idris.Prelude.Types.Left', V88} end(E67)); {'Idris.Prelude.Types.Right', E68} -> (fun (V89) -> {'Idris.Prelude.Types.Right', (V3())} end(E68)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V90) -> {'Idris.Prelude.Types.Right', (V3())} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in evalRef-4506'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16) -> case V15 of 0 -> fun (V17) -> begin (V39 = (('un--useMeta'(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 (V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38) -> V33 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, V7, V5, V0, V1))(V17))), case V39 of {'Idris.Prelude.Types.Left', E21} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E21)); {'Idris.Prelude.Types.Right', E22} -> (fun (V41) -> case V41 of {'Idris.Prelude.Types.Just', E23} -> (fun (V42) -> begin (V43 = (('un--updateLimit'(V6, V5, V42))(V17))), case V43 of {'Idris.Prelude.Types.Left', E24} -> (fun (V44) -> {'Idris.Prelude.Types.Left', V44} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V45) -> case V45 of {'Idris.Prelude.Types.Just', E26} -> (fun (V46) -> (('un--evalDef'(V0, V1, V10, V2, V9, V46, V8, V7, 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 (V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67) -> V54 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, case V11 of {'Idris.Core.Context.MkGlobalDef', E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68} -> (fun (V68, V69, V70, V71, V72, V73, V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88) -> V85 end(E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V11 of {'Idris.Core.Context.MkGlobalDef', E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89} -> (fun (V89, V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109) -> V100 end(E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V4, V3))(V17)) end(E26)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V110 = (('Idris.Idris2.Core.Context.Log':'un--log'(V10, <<"eval.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Function "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V5)), <<" past reduction limit"/utf8>>)))) end))(V17))), case V110 of {'Idris.Prelude.Types.Left', E90} -> (fun (V111) -> {'Idris.Prelude.Types.Left', V111} end(E90)); {'Idris.Prelude.Types.Right', E91} -> (fun (V112) -> {'Idris.Prelude.Types.Right', (V3())} end(E91)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E23)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', (V3())} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E22)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> fun (V113) -> {'Idris.Prelude.Types.Right', (V3())} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--evalRef-4445'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Prelude.Types.Just', E0} -> (fun (V12) -> begin (V21 = case V1 of {'Idris.Core.Value.MkEvalOpts', E1, E2, E3, E4, E5, E6, E7, E8} -> (fun (V13, V14, V15, V16, V17, V18, V19, V20) -> V17 end(E1, E2, E3, E4, E5, E6, E7, E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), begin (V116 = ('Idris.Idris2.Core.Context':'un--reducibleInAny'([case V0 of {'Idris.Core.Context.MkDefs', E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34} -> (fun (V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47) -> V24 end(E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end | case V0 of {'Idris.Core.Context.MkDefs', E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60} -> (fun (V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73) -> V51 end(E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end], case V12 of {'Idris.Core.Context.MkGlobalDef', E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81} -> (fun (V74, V75, V76, V77, V78, V79, V80, V81, V82, V83, V84, V85, V86, V87, V88, V89, V90, V91, V92, V93, V94) -> V75 end(E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V12 of {'Idris.Core.Context.MkGlobalDef', E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102} -> (fun (V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111, V112, V113, V114, V115) -> V104 end(E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E100, E101, E102)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))), begin (V117 = ('Idris.Idris2.Prelude.Basics':'un--||'(V21, fun () -> V116 end))), fun (V118) -> begin (V127 = begin (V123 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V10, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V119) -> fun (V120) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(V119, V120)) end end, fun (V121) -> fun (V122) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Name'(V121, V122)) end end}, V5, V118))), case V123 of {'Idris.Prelude.Types.Left', E103} -> (fun (V124) -> {'Idris.Prelude.Types.Left', V124} end(E103)); {'Idris.Prelude.Types.Right', E104} -> (fun (V125) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(V116)) of 0 -> ('Idris.Idris2.Core.Context.Log':'un--logC'(V10, <<"eval.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun (V126) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Stuck function: "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V125))))} end, V118)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E104)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V127 of {'Idris.Prelude.Types.Left', E105} -> (fun (V128) -> {'Idris.Prelude.Types.Left', V128} end(E105)); {'Idris.Prelude.Types.Right', E106} -> (fun (V129) -> case V117 of 0 -> begin (V151 = (('un--useMeta'(case V12 of {'Idris.Core.Context.MkGlobalDef', E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127} -> (fun (V130, V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142, V143, V144, V145, V146, V147, V148, V149, V150) -> V145 end(E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V7, V5, V0, V1))(V118))), case V151 of {'Idris.Prelude.Types.Left', E128} -> (fun (V152) -> {'Idris.Prelude.Types.Left', V152} end(E128)); {'Idris.Prelude.Types.Right', E129} -> (fun (V153) -> case V153 of {'Idris.Prelude.Types.Just', E130} -> (fun (V154) -> begin (V155 = (('un--updateLimit'(V6, V5, V154))(V118))), case V155 of {'Idris.Prelude.Types.Left', E131} -> (fun (V156) -> {'Idris.Prelude.Types.Left', V156} end(E131)); {'Idris.Prelude.Types.Right', E132} -> (fun (V157) -> case V157 of {'Idris.Prelude.Types.Just', E133} -> (fun (V158) -> (('un--evalDef'(V0, V1, V10, V2, V9, V158, V8, V7, case V12 of {'Idris.Core.Context.MkGlobalDef', E134, E135, E136, E137, E138, E139, E140, E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153, E154} -> (fun (V159, V160, V161, V162, V163, V164, V165, V166, V167, V168, V169, V170, V171, V172, V173, V174, V175, V176, V177, V178, V179) -> V166 end(E134, E135, E136, E137, E138, E139, E140, E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153, E154)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V12 of {'Idris.Core.Context.MkGlobalDef', E155, E156, E157, E158, E159, E160, E161, E162, E163, E164, E165, E166, E167, E168, E169, E170, E171, E172, E173, E174, E175} -> (fun (V180, V181, V182, V183, V184, V185, V186, V187, V188, V189, V190, V191, V192, V193, V194, V195, V196, V197, V198, V199, V200) -> V197 end(E155, E156, E157, E158, E159, E160, E161, E162, E163, E164, E165, E166, E167, E168, E169, E170, E171, E172, E173, E174, E175)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V12 of {'Idris.Core.Context.MkGlobalDef', E176, E177, E178, E179, E180, E181, E182, E183, E184, E185, E186, E187, E188, E189, E190, E191, E192, E193, E194, E195, E196} -> (fun (V201, V202, V203, V204, V205, V206, V207, V208, V209, V210, V211, V212, V213, V214, V215, V216, V217, V218, V219, V220, V221) -> V212 end(E176, E177, E178, E179, E180, E181, E182, E183, E184, E185, E186, E187, E188, E189, E190, E191, E192, E193, E194, E195, E196)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V4, V3))(V118)) end(E133)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V222 = (('Idris.Idris2.Core.Context.Log':'un--log'(V10, <<"eval.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Function "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V5)), <<" past reduction limit"/utf8>>)))) end))(V118))), case V222 of {'Idris.Prelude.Types.Left', E197} -> (fun (V223) -> {'Idris.Prelude.Types.Left', V223} end(E197)); {'Idris.Prelude.Types.Right', E198} -> (fun (V224) -> {'Idris.Prelude.Types.Right', (V3())} end(E198)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E132)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E130)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', (V3())} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E129)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', (V3())}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E106)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V225) -> {'Idris.Prelude.Types.Right', (V3())} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in evalLocal-4218'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Core.TT.Let', E0, E1, E2, E3} -> (fun (V13, V14, V15, V16) -> ('un--eval'(V0, V1, V11, V3, [], V10, {'Idris.Core.Value.Nil'}, V15, V5)) end(E0, E1, E2, E3)); _ -> fun (V17) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NApp', V9, {'Idris.Core.Value.NLocal', V8, V6}, V5}} end end. 'case--evalLocal-4184'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of 0 -> ('case--case block in evalLocal-4218'(V0, V1, 'erased', V3, V4, V5, V6, 'erased', V8, V9, V10, V11, ('Idris.Idris2.Core.Env':'un--getBinder'('erased', 'erased', {'Idris.Core.TT.dn--un--__mkWeaken', fun (V13) -> fun (V14) -> fun (V15) -> ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Term'('erased', 'erased', V15)) end end end, fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> ('Idris.Idris2.Core.TT':'dn--un--weakenNs_Weaken__Term'('erased', 'erased', V18, V19)) end end end end}, V3, V6, 'erased', V10)))); 1 -> fun (V20) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NApp', V9, {'Idris.Core.Value.NLocal', V8, V6}, V5}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--eval-3996'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Core.Value.NDelay', E0, E1, E2, E3} -> (fun (V12, V13, V14, V15) -> ('un--eval'(V0, V1, V10, V2, [{'Idris.Core.Name.UN', <<"fvar"/utf8>>} | V3], V9, {'Idris.Core.Value.::', V15, V8}, {'Idris.Core.TT.Local', V12, {'Idris.Prelude.Types.Nothing'}, 0}, V7)) end(E0, E1, E2, E3)); _ -> fun (V16) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NForce', V6, V5, V11, V7}} end end. 'case--eval-3874'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of 0 -> ('un--eval'(V0, V1, V11, V2, V3, V10, V9, V4, V8)); 1 -> fun (V13) -> begin (V14 = (('un--eval'(V0, V1, V11, V2, V3, V10, V9, V5, V8))(V13))), case V14 of {'Idris.Prelude.Types.Left', E0} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V16) -> begin (V17 = (('un--eval'(V0, V1, V11, V2, V3, V10, V9, V4, V8))(V13))), case V17 of {'Idris.Prelude.Types.Left', E2} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NAs', V7, V6, V16, V19}} end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--eval-3703'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16) -> case V16 of 0 -> fun (V17) -> begin (V19 = (('Idris.Idris2.Core.Core.Binder':'un--traverse'('erased', 'erased', fun (V18) -> ('un--eval'(V0, V1, V15, V2, V3, V14, V13, V18, [])) end, V10))(V17))), case V19 of {'Idris.Prelude.Types.Left', E0} -> (fun (V20) -> {'Idris.Prelude.Types.Left', V20} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V21) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NBind', V11, V5, V21, fun (V22) -> fun (V23) -> ('un--evalWithOpts'(V15, V2, [V5 | V3], V22, V1, V14, {'Idris.Core.Value.::', V23, V13}, V6, V12)) end end}} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; 1 -> ('un--eval'(V0, V1, V15, V2, [V5 | V3], V14, {'Idris.Core.Value.::', {'Idris.Core.Value.MkClosure', V3, V1, V13, V14, V7}, V13}, V6, V12)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in case block in updateLimit-3489'(V0, V1, V2) -> case V0 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V3, V4, V5, V6, V7, V8, V9, V10) -> {'Idris.Core.Value.MkEvalOpts', V3, V4, V5, V6, V7, V8, V9, ('nested--7196-3368--in--un--set'(V0, V1, V1, V2, V10))} end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in updateLimit-3447'(V0, V1, V2) -> case V2 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V3) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end()); {'Idris.Prelude.Types.Just', E0} -> (fun (V4) -> case V4 of 0 -> fun (V5) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end; _ -> begin (V6 = (V4 - 1)), fun (V7) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', case V0 of {'Idris.Core.Value.MkEvalOpts', E1, E2, E3, E4, E5, E6, E7, E8} -> (fun (V8, V9, V10, V11, V12, V13, V14, V15) -> {'Idris.Core.Value.MkEvalOpts', V8, V9, V10, V11, V12, V13, V14, ('nested--7196-3368--in--un--set'(V0, V1, V1, V6, V15))} end(E1, E2, E3, E4, E5, E6, E7, E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end}} end end end end(E0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--updateLimit-3434'(V0, V1, V2) -> case V2 of 0 -> ('case--case block in updateLimit-3447'(V0, V1, ('Idris.Idris2.Data.List':'un--lookup'('erased', 'erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V3) -> fun (V4) -> ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V3, V4)) end end, fun (V5) -> fun (V6) -> ('Idris.Idris2.Core.Name':'dn--un--/=_Eq__Name'(V5, V6)) end end}, V1, case V0 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V7, V8, V9, V10, V11, V12, V13, V14) -> V14 end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))); 1 -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V0}} end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--updateLimit,set-3388'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of 0 -> [{'Idris.Builtin.MkPair', V2, V5} | V4]; 1 -> [{'Idris.Builtin.MkPair', V2, V3} | ('nested--7196-3368--in--un--set'(V0, V1, V6, V5, V4))]; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--useMeta-3338'(V0, V1, V2, V3, V4) -> case V4 of {'Idris.Prelude.Types.Just', E0} -> (fun (V5) -> ('un--useMeta'(0, V3, {'Idris.Core.Name.Resolved', V5}, V1, V0)) end(E0)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V6) -> ('Idris.Idris2.Core.Core':'dn--un--throw_Catchable__Core_Error'('erased', {'Idris.Core.Core.UndefinedName', V3, V2}, V6)) end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--case block in useMeta-3309'(V0, V1, V2, V3) -> case V1 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V4, V5, V6, V7, V8, V9, V10, V11) -> {'Idris.Core.Value.MkEvalOpts', V4, V5, V6, ('Idris.Idris2.Data.IntMap':'un--insert'('erased', V0, {'Idris.Builtin.MkUnit'}, V7)), V8, V9, V10, V11} end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'case--useMeta-3283'(V0, V1, V2, V3, V4) -> case V4 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> fun (V5) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', case V1 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V6, V7, V8, V9, V10, V11, V12, V13) -> {'Idris.Core.Value.MkEvalOpts', V6, V7, V8, ('Idris.Idris2.Data.IntMap':'un--insert'('erased', V0, {'Idris.Builtin.MkUnit'}, V9)), V10, V11, V12, V13} end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end}} end end()); {'Idris.Prelude.Types.Just', E8} -> (fun (V14) -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13624-9432--in--un--weakenP'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17) -> case V17 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V18, V19) -> {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V18)), ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V19))} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13087-8983--in--un--weakenP'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Builtin.MkPair', E0, E1} -> (fun (V9, V10) -> {'Idris.Builtin.MkPair', ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V9)), ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Var'('erased', 'erased', V10))} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13087-8981--in--un--tryUpdatePi'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Core.TT.Explicit'} -> (fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Explicit'})) end()); {'Idris.Core.TT.Implicit'} -> (fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Implicit'})) end()); {'Idris.Core.TT.AutoImplicit'} -> (fun () -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.AutoImplicit'})) end()); {'Idris.Core.TT.DefImplicit', E0} -> (fun (V8) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V6, V8)), fun (V9) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.DefImplicit', V9})) end)) end(E0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13087-8982--in--un--tryUpdateB'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Core.TT.Lam', E0, E1, E2, E3} -> (fun (V8, V9, V10, V11) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--13087-8981--in--un--tryUpdatePi'(V0, V1, V2, V3, V4, V5, V6, V10)), fun (V12) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V6, V11)), fun (V13) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Lam', V8, V9, V12, V13})) end)) end)) end(E0, E1, E2, E3)); {'Idris.Core.TT.Let', E4, E5, E6, E7} -> (fun (V14, V15, V16, V17) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V6, V16)), fun (V18) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V6, V17)), fun (V19) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Let', V14, V15, V18, V19})) end)) end)) end(E4, E5, E6, E7)); {'Idris.Core.TT.Pi', E8, E9, E10, E11} -> (fun (V20, V21, V22, V23) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--13087-8981--in--un--tryUpdatePi'(V0, V1, V2, V3, V4, V5, V6, V22)), fun (V24) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V6, V23)), fun (V25) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Pi', V20, V21, V24, V25})) end)) end)) end(E8, E9, E10, E11)); _ -> {'Idris.Prelude.Types.Nothing'} end. 'nested--11054-7663--in--un--toHolesOnly'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Core.Value.MkClosure', E0, E1, E2, E3, E4} -> (fun (V13, V14, V15, V16, V17) -> {'Idris.Core.Value.MkClosure', V13, case V14 of {'Idris.Core.Value.MkEvalOpts', E5, E6, E7, E8, E9, E10, E11, E12} -> (fun (V18, V19, V20, V21, V22, V23, V24, V25) -> {'Idris.Core.Value.MkEvalOpts', 0, 0, V20, V21, V22, V23, V24, V25} end(E5, E6, E7, E8, E9, E10, E11, E12)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V15, V16, V17} end(E0, E1, E2, E3, E4)); _ -> V12 end. 'nested--7370-5941--in--un--takeStk'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V6 of 0 -> {'Idris.Prelude.Types.Just', {'Idris.Builtin.MkPair', ('Idris.Idris2.Data.Vect':'un--reverse'('erased', 'erased', V8)), V7}}; _ -> begin (V9 = (V6 - 1)), case V7 of [] -> {'Idris.Prelude.Types.Nothing'}; [E0 | E1] -> (fun (V10, V11) -> ('nested--7370-5941--in--un--takeStk'(V0, V1, 'erased', V3, V4, 'erased', V9, V11, {'Idris.Data.Vect.::', V10, V8})) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end. 'nested--7196-3368--in--un--set'(V0, V1, V2, V3, V4) -> case V4 of [] -> []; [E0 | E1] -> (fun (V5, V6) -> case V5 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V7, V8) -> ('case--updateLimit,set-3388'(V0, V1, V7, V8, V6, V3, V2, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V7, V2)))) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--19307-14390--in--un--repSub'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Core.Value.NBind', E2, E3, E4, E5} -> (fun (V9, V10, V11, V12) -> fun (V13) -> begin (V15 = (('Idris.Idris2.Core.Core.Binder':'un--traverse'('erased', 'erased', fun (V14) -> ('nested--19307-14390--in--un--repSub'(V0, V1, V2, V3, V4, V5, V6, V7, V14)) end, V11))(V13))), 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.Core.Name.MN', <<"tmp"/utf8>>, V6}), begin (V22 = begin (V19 = (((V12(V5))(('un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V4, {'Idris.Core.TT.Ref', V9, {'Idris.Core.TT.Bound'}, V18}))))(V13))), case V19 of {'Idris.Prelude.Types.Left', E8} -> (fun (V20) -> {'Idris.Prelude.Types.Left', V20} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V21) -> ('un--replace\x{27}'(V7, V0, ((V6 + 1) rem 9223372036854775808), V5, V4, V3, V2, V21, V13)) end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V22 of {'Idris.Prelude.Types.Left', E10} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V9, V10, V17, ('Idris.Idris2.Core.TT':'un--refsToLocals'('erased', 'erased', {'Idris.Core.TT.Bounds.Add', V10, V18, {'Idris.Core.TT.Bounds.None'}}, V24))}} end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3, E4, E5)); {'Idris.Core.Value.NApp', E12, E13, E14} -> (fun (V25, V26, V27) -> case V27 of [] -> fun (V28) -> begin (V29 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V5, V28))), case V29 of {'Idris.Prelude.Types.Left', E19} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E19)); {'Idris.Prelude.Types.Right', E20} -> (fun (V31) -> ('dn--un--quote_Quote__NF'(V7, V0, V31, V4, {'Idris.Core.Value.NApp', V25, V26, []}, V28)) end(E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; _ -> fun (V32) -> begin (V35 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V33) -> fun (V34) -> ('nested--19307-14389--in--un--repArg'(V0, V1, V2, V3, V4, V5, V6, V7, V33, V34)) end end, V27))(V32))), case V35 of {'Idris.Prelude.Types.Left', E15} -> (fun (V36) -> {'Idris.Prelude.Types.Left', V36} end(E15)); {'Idris.Prelude.Types.Right', E16} -> (fun (V37) -> begin (V38 = ('un--replace\x{27}'(V7, V0, V6, V5, V4, V3, V2, {'Idris.Core.Value.NApp', V25, V26, []}, V32))), case V38 of {'Idris.Prelude.Types.Left', E17} -> (fun (V39) -> {'Idris.Prelude.Types.Left', V39} end(E17)); {'Idris.Prelude.Types.Right', E18} -> (fun (V40) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V25, V40, V37))} end(E18)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E16)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E12, E13, E14)); {'Idris.Core.Value.NDCon', E21, E22, E23, E24, E25} -> (fun (V41, V42, V43, V44, V45) -> fun (V46) -> begin (V49 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V47) -> fun (V48) -> ('nested--19307-14389--in--un--repArg'(V0, V1, V2, V3, V4, V5, V6, V7, V47, V48)) end end, V45))(V46))), case V49 of {'Idris.Prelude.Types.Left', E26} -> (fun (V50) -> {'Idris.Prelude.Types.Left', V50} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V51) -> begin (V52 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V5, V46))), case V52 of {'Idris.Prelude.Types.Left', E28} -> (fun (V53) -> {'Idris.Prelude.Types.Left', V53} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V54) -> begin (V55 = ('dn--un--quote_Quote__NF'(V7, V0, V54, V4, {'Idris.Core.Value.NDCon', V41, V42, V43, V44, []}, V46))), case V55 of {'Idris.Prelude.Types.Left', E30} -> (fun (V56) -> {'Idris.Prelude.Types.Left', V56} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V57) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V41, V57, V51))} end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E21, E22, E23, E24, E25)); {'Idris.Core.Value.NTCon', E32, E33, E34, E35, E36} -> (fun (V58, V59, V60, V61, V62) -> fun (V63) -> begin (V66 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V64) -> fun (V65) -> ('nested--19307-14389--in--un--repArg'(V0, V1, V2, V3, V4, V5, V6, V7, V64, V65)) end end, V62))(V63))), case V66 of {'Idris.Prelude.Types.Left', E37} -> (fun (V67) -> {'Idris.Prelude.Types.Left', V67} end(E37)); {'Idris.Prelude.Types.Right', E38} -> (fun (V68) -> begin (V69 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V5, V63))), case V69 of {'Idris.Prelude.Types.Left', E39} -> (fun (V70) -> {'Idris.Prelude.Types.Left', V70} end(E39)); {'Idris.Prelude.Types.Right', E40} -> (fun (V71) -> begin (V72 = ('dn--un--quote_Quote__NF'(V7, V0, V71, V4, {'Idris.Core.Value.NTCon', V58, V59, V60, V61, []}, V63))), case V72 of {'Idris.Prelude.Types.Left', E41} -> (fun (V73) -> {'Idris.Prelude.Types.Left', V73} end(E41)); {'Idris.Prelude.Types.Right', E42} -> (fun (V74) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V58, V74, V68))} end(E42)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E40)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E38)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E32, E33, E34, E35, E36)); {'Idris.Core.Value.NAs', E43, E44, E45, E46} -> (fun (V75, V76, V77, V78) -> fun (V79) -> begin (V80 = (('nested--19307-14390--in--un--repSub'(V0, V1, V2, V3, V4, V5, V6, V7, V77))(V79))), case V80 of {'Idris.Prelude.Types.Left', E47} -> (fun (V81) -> {'Idris.Prelude.Types.Left', V81} end(E47)); {'Idris.Prelude.Types.Right', E48} -> (fun (V82) -> begin (V83 = (('nested--19307-14390--in--un--repSub'(V0, V1, V2, V3, V4, V5, V6, V7, V78))(V79))), case V83 of {'Idris.Prelude.Types.Left', E49} -> (fun (V84) -> {'Idris.Prelude.Types.Left', V84} end(E49)); {'Idris.Prelude.Types.Right', E50} -> (fun (V85) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.As', V75, V76, V82, V85}} end(E50)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E48)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E43, E44, E45, E46)); {'Idris.Core.Value.NDelayed', E51, E52, E53} -> (fun (V86, V87, V88) -> fun (V89) -> begin (V90 = (('nested--19307-14390--in--un--repSub'(V0, V1, V2, V3, V4, V5, V6, V7, V88))(V89))), case V90 of {'Idris.Prelude.Types.Left', E54} -> (fun (V91) -> {'Idris.Prelude.Types.Left', V91} end(E54)); {'Idris.Prelude.Types.Right', E55} -> (fun (V92) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.TDelayed', V86, V87, V92}} end(E55)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E51, E52, E53)); {'Idris.Core.Value.NDelay', E56, E57, E58, E59} -> (fun (V93, V94, V95, V96) -> fun (V97) -> begin (V101 = begin (V98 = (('un--evalClosure'(V7, V0, V5, V95))(V97))), case V98 of {'Idris.Prelude.Types.Left', E60} -> (fun (V99) -> {'Idris.Prelude.Types.Left', V99} end(E60)); {'Idris.Prelude.Types.Right', E61} -> (fun (V100) -> ('un--replace\x{27}'(V7, V0, V6, V5, V4, V3, V2, V100, V97)) end(E61)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V101 of {'Idris.Prelude.Types.Left', E62} -> (fun (V102) -> {'Idris.Prelude.Types.Left', V102} end(E62)); {'Idris.Prelude.Types.Right', E63} -> (fun (V103) -> begin (V107 = begin (V104 = (('un--evalClosure'(V7, V0, V5, V96))(V97))), case V104 of {'Idris.Prelude.Types.Left', E64} -> (fun (V105) -> {'Idris.Prelude.Types.Left', V105} end(E64)); {'Idris.Prelude.Types.Right', E65} -> (fun (V106) -> ('un--replace\x{27}'(V7, V0, V6, V5, V4, V3, V2, V106, V97)) end(E65)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V107 of {'Idris.Prelude.Types.Left', E66} -> (fun (V108) -> {'Idris.Prelude.Types.Left', V108} end(E66)); {'Idris.Prelude.Types.Right', E67} -> (fun (V109) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.TDelay', V93, V94, V103, V109}} end(E67)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E63)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E56, E57, E58, E59)); {'Idris.Core.Value.NForce', E68, E69, E70, E71} -> (fun (V110, V111, V112, V113) -> fun (V114) -> begin (V117 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V115) -> fun (V116) -> ('nested--19307-14389--in--un--repArg'(V0, V1, V2, V3, V4, V5, V6, V7, V115, V116)) end end, V113))(V114))), case V117 of {'Idris.Prelude.Types.Left', E72} -> (fun (V118) -> {'Idris.Prelude.Types.Left', V118} end(E72)); {'Idris.Prelude.Types.Right', E73} -> (fun (V119) -> begin (V120 = (('nested--19307-14390--in--un--repSub'(V0, V1, V2, V3, V4, V5, V6, V7, V112))(V114))), case V120 of {'Idris.Prelude.Types.Left', E74} -> (fun (V121) -> {'Idris.Prelude.Types.Left', V121} end(E74)); {'Idris.Prelude.Types.Right', E75} -> (fun (V122) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V110, {'Idris.Core.TT.TForce', V110, V111, V122}, V119))} end(E75)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E73)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E68, E69, E70, E71)); _ -> fun (V123) -> begin (V124 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V5, V123))), case V124 of {'Idris.Prelude.Types.Left', E0} -> (fun (V125) -> {'Idris.Prelude.Types.Left', V125} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V126) -> ('dn--un--quote_Quote__NF'(V7, V0, V126, V4, V8, V123)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'nested--19307-14389--in--un--repArg'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> begin (V10 = (('un--evalClosure'(V7, V0, V5, V8))(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) -> ('un--replace\x{27}'(V7, V0, V6, V5, V4, V3, V2, V12, V9)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'nested--19144-14238--in--un--lvl'(V0, V1, V2, V3, V4, V5) -> (('Idris.Idris2.Core.Options.Log':'un--mkLogLevel'(V4))(V3)). 'nested--13640-10688--in--un--getScrutinee'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14) -> case V13 of 0 -> case V14 of [E2 | E3] -> (fun (V15, V16) -> {'Idris.Prelude.Types.Just', V15} end(E2, E3)); _ -> {'Idris.Prelude.Types.Nothing'} end; _ -> begin (V17 = (V13 - 1)), case V14 of [E0 | E1] -> (fun (V18, V19) -> ('nested--13640-10688--in--un--getScrutinee'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, 'erased', V17, V19)) end(E0, E1)); _ -> {'Idris.Prelude.Types.Nothing'} end end end. 'nested--13636-10202--in--un--getArgPos'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of [] -> {'Idris.Prelude.Types.Nothing'}; _ -> case V9 of 0 -> case V10 of [E2 | E3] -> (fun (V11, V12) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', V11)) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; _ -> begin (V13 = (V9 - 1)), case V10 of [E0 | E1] -> (fun (V14, V15) -> ('nested--13636-10202--in--un--getArgPos'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V13, V15)) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'nested--11036-7008--in--un--findName'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of {'Idris.Core.TT.Bounds.None'} -> (fun () -> {'Idris.Prelude.Types.Nothing'} end()); {'Idris.Core.TT.Bounds.Add', E0, E1, E2} -> (fun (V12, V13, V14) -> case V13 of {'Idris.Core.Name.MN', E3, E4} -> (fun (V15, V16) -> ('case--quoteHead,findName-7024'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V16, V15, V14, V12, ('Idris.Idris2.Prelude.EqOrd':'dn--un--==_Eq__Int'(V2, V16)))) end(E3, E4)); _ -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--11036-7008--in--un--findName'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, 'erased', V14)), fun (V17) -> {'Idris.Prelude.Types.Just', (1 + V17)} end)) end end(E0, E1, E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13087-8813--in--un--findIdx'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V8 of [] -> {'Idris.Prelude.Types.Nothing'}; [E0 | E1] -> (fun (V10, V11) -> case V10 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V12, V13) -> ('case--tryUpdate,findIdx-8839'(V0, V1, 'erased', V3, 'erased', V5, V6, V7, 'erased', V12, 'erased', V13, V11, V9, ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V12, V9)))) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13640-10687--in--un--findArgPos'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13) -> case V13 of {'Idris.Core.CaseTree.Case', E0, E1, E2, E3} -> (fun (V14, V15, V16, V17) -> {'Idris.Prelude.Types.Just', V15} end(E0, E1, E2, E3)); _ -> {'Idris.Prelude.Types.Nothing'} end. 'nested--13624-9433--in--un--extend'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V13 of [] -> case V14 of [] -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', V15)); _ -> {'Idris.Prelude.Types.Nothing'} end; [E0 | E1] -> (fun (V16, V17) -> case V14 of [E2 | E3] -> (fun (V18, V19) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--13624-9433--in--un--extend'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V17, V19, V15)), fun (V20) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', [{'Idris.Builtin.MkPair', 0, 0} | ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V21) -> ('nested--13624-9432--in--un--weakenP'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V16, V18, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V17, V0)), ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V19, V1)), V21)) end, V20))])) end)) end(E2, E3)); _ -> {'Idris.Prelude.Types.Nothing'} end end(E0, E1)); _ -> {'Idris.Prelude.Types.Nothing'} end. 'nested--7372-6064--in--un--evalAll'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V9 of {'Idris.Data.Vect.Nil'} -> (fun () -> fun (V10) -> {'Idris.Prelude.Types.Right', {'Idris.Data.Vect.Nil'}} end end()); {'Idris.Data.Vect.::', E0, E1} -> (fun (V11, V12) -> fun (V13) -> begin (V14 = (('un--evalClosure'(V7, V2, V0, V11))(V13))), case V14 of {'Idris.Prelude.Types.Left', E2} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V16) -> begin (V17 = (('nested--7372-6064--in--un--evalAll'(V0, V1, V2, V3, V4, V5, V6, V7, 'erased', V12))(V13))), case V17 of {'Idris.Prelude.Types.Left', E4} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Data.Vect.::', V16, V19}} 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. 'nested--19144-14239--in--un--dumpEnv'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V6 of [] -> case V7 of {'Idris.Core.Env.Nil'} -> (fun () -> fun (V8) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}} end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; [E0 | E1] -> (fun (V9, V10) -> case V7 of {'Idris.Core.Env.::', E2, E3} -> (fun (V11, V12) -> case V11 of {'Idris.Core.TT.Let', E6, E7, E8, E9} -> (fun (V13, V14, V15, V16) -> fun (V17) -> begin (V18 = ('un--logTermNF\x{27}'(V10, V5, ('nested--19144-14238--in--un--lvl'(V0, V1, V2, V3, V4, V5)), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(V2, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<": let "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V9)))))) end, V12, V15, V17))), case V18 of {'Idris.Prelude.Types.Left', E10} -> (fun (V19) -> {'Idris.Prelude.Types.Left', V19} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V20) -> begin (V21 = ('un--logTermNF\x{27}'(V10, V5, ('nested--19144-14238--in--un--lvl'(V0, V1, V2, V3, V4, V5)), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(V2, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<":"/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(V14)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V9)))))))))) end, V12, V16, V17))), case V21 of {'Idris.Prelude.Types.Left', E12} -> (fun (V22) -> {'Idris.Prelude.Types.Left', V22} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V23) -> (('nested--19144-14239--in--un--dumpEnv'(V0, V1, V2, V3, V4, V5, V10, V12))(V17)) end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E6, E7, E8, E9)); _ -> fun (V24) -> begin (V28 = ('un--logTermNF\x{27}'(V10, V5, ('nested--19144-14238--in--un--lvl'(V0, V1, V2, V3, V4, V5)), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(V2, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<":"/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--show_Show__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V11)))), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.TT':'dn--un--show_Show__(PiInfo $t)'('erased', {'Idris.Prelude.Show.dn--un--__mkShow', fun (V25) -> ('Idris.Idris2.Core.TT':'dn--un--show_Show__(Term $vars)'(V10, V25)) end, fun (V26) -> fun (V27) -> ('Idris.Idris2.Core.TT':'dn--un--showPrec_Show__(Term $vars)'(V10, V26, V27)) end end}, ('Idris.Idris2.Core.TT':'un--piInfo'('erased', V11)))), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V9)))))))))))))) end, V12, ('Idris.Idris2.Core.TT':'un--binderType'('erased', V11)), V24))), case V28 of {'Idris.Prelude.Types.Left', E4} -> (fun (V29) -> {'Idris.Prelude.Types.Left', V29} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V30) -> (('nested--19144-14239--in--un--dumpEnv'(V0, V1, V2, V3, V4, V5, V10, V12))(V24)) 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. 'nested--13624-9434--in--un--dropV'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15) -> case V14 of [] -> {'Idris.Prelude.Types.Just', V15}; [E0 | E1] -> (fun (V16, V17) -> case V15 of 0 -> {'Idris.Prelude.Types.Nothing'}; _ -> begin (V18 = (V15 - 1)), ('nested--13624-9434--in--un--dropV'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, 'erased', V17, V18)) end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13624-9435--in--un--dropP'(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) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--13624-9434--in--un--dropV'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, 'erased', V13, V16)), fun (V18) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--13624-9434--in--un--dropV'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, 'erased', V14, V17)), fun (V19) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Builtin.MkPair', V18, V19})) end)) end)) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--13636-10203--in--un--convertMatches'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of [] -> fun (V12) -> {'Idris.Prelude.Types.Right', 0} end; [E0 | E1] -> (fun (V13, V14) -> case V13 of {'Idris.Builtin.MkPair', E2, E3} -> (fun (V15, V16) -> ('case--chkSameDefs,convertMatches-10253'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, 'erased', 'erased', V15, 'erased', V16, 'erased', V14, ('nested--13636-10202--in--un--getArgPos'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V15, V2)))) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--7367-5392--in--un--concrete'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of {'Idris.Core.Value.NDCon', E0, E1, E2, E3, E4} -> (fun (V13, V14, V15, V16, V17) -> 0 end(E0, E1, E2, E3, E4)); {'Idris.Core.Value.NTCon', E5, E6, E7, E8, E9} -> (fun (V18, V19, V20, V21, V22) -> 0 end(E5, E6, E7, E8, E9)); {'Idris.Core.Value.NPrimVal', E10, E11} -> (fun (V23, V24) -> 0 end(E10, E11)); {'Idris.Core.Value.NBind', E12, E13, E14, E15} -> (fun (V25, V26, V27, V28) -> 0 end(E12, E13, E14, E15)); {'Idris.Core.Value.NType', E16} -> (fun (V29) -> 0 end(E16)); _ -> 1 end. 'nested--7359-3651--in--un--closeArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V12 of [] -> []; [E0 | E1] -> (fun (V13, V14) -> [{'Idris.Core.Value.MkClosure', V2, V1, V9, V10, V13} | ('nested--7359-3651--in--un--closeArgs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V14))] end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--7360-4104--in--un--applyToStack'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V9 of {'Idris.Core.Value.NBind', E0, E1, E2, E3} -> (fun (V11, V12, V13, V14) -> case V13 of {'Idris.Core.TT.Lam', E4, E5, E6, E7} -> (fun (V15, V16, V17, V18) -> case V10 of [E8 | E9] -> (fun (V19, V20) -> fun (V21) -> begin (V22 = (((V14(V0))(V19))(V21))), case V22 of {'Idris.Prelude.Types.Left', E10} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V24) -> (('nested--7360-4104--in--un--applyToStack'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V24, V20))(V21)) end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E8, E9)); _ -> fun (V25) -> {'Idris.Prelude.Types.Right', V9} end end end(E4, E5, E6, E7)); _ -> fun (V26) -> {'Idris.Prelude.Types.Right', V9} end end end(E0, E1, E2, E3)); {'Idris.Core.Value.NApp', E12, E13, E14} -> (fun (V27, V28, V29) -> case V28 of {'Idris.Core.Value.NRef', E15, E16} -> (fun (V30, V31) -> ('un--evalRef'(V0, V1, V8, V2, V7, 1, V27, V30, V31, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V29, V10)), fun () -> {'Idris.Core.Value.NApp', V27, {'Idris.Core.Value.NRef', V30, V31}, V29} end)) end(E15, E16)); {'Idris.Core.Value.NLocal', E17, E18} -> (fun (V32, V33) -> ('un--evalLocal'(V0, V1, 'erased', V8, V2, [], V7, V27, V32, V33, 'erased', ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V29, V10)), {'Idris.Core.Value.Nil'})) end(E17, E18)); _ -> fun (V34) -> {'Idris.Prelude.Types.Right', V9} end end end(E12, E13, E14)); {'Idris.Core.Value.NDCon', E19, E20, E21, E22, E23} -> (fun (V35, V36, V37, V38, V39) -> fun (V40) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NDCon', V35, V36, V37, V38, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V39, V10))}} end end(E19, E20, E21, E22, E23)); {'Idris.Core.Value.NTCon', E24, E25, E26, E27, E28} -> (fun (V41, V42, V43, V44, V45) -> fun (V46) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NTCon', V41, V42, V43, V44, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V45, V10))}} end end(E24, E25, E26, E27, E28)); _ -> fun (V47) -> {'Idris.Prelude.Types.Right', V9} end end. 'nested--11036-6879--in--un--addLater'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16) -> case V15 of [] -> V14; [E0 | E1] -> (fun (V17, V18) -> ('case--quoteHead,addLater-6908'(V0, 'erased', V2, 'erased', V4, V5, V6, V7, V8, V9, V10, V11, 'erased', 'erased', V14, V17, V18, 'erased', ('nested--11036-6879--in--un--addLater'(V0, 'erased', V2, 'erased', V4, V5, V6, V7, V8, V9, V10, V11, 'erased', 'erased', V14, V18, 'erased')))) end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'nested--12696-8390--in--un--act'(V0, V1, V2, V3, V4, V5) -> begin (V6 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V3, V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Considering"/utf8>> end, V4, V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> case V4 of {'Idris.Core.TT.Bind', E2, E3, E4, E5} -> (fun (V9, V10, V11, V12) -> case V11 of {'Idris.Core.TT.Lam', E6, E7, E8, E9} -> (fun (V13, V14, V15, V16) -> case V12 of {'Idris.Core.TT.App', E10, E11, E12} -> (fun (V17, V18, V19) -> case V19 of {'Idris.Core.TT.Local', E13, E14, E15} -> (fun (V20, V21, V22) -> case V22 of 0 -> begin (V23 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'([V10 | V3], V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Shrinking candidate"/utf8>> end, V18, V5))), 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 = ('Idris.Idris2.Core.TT':'un--shrinkTerm'('erased', 'erased', V18, {'Idris.Core.TT.DropCons', {'Idris.Core.TT.SubRefl'}}))), begin (V27 = {'Idris.Core.TT.Bind', V9, V10, {'Idris.Core.TT.Lam', V13, V14, V15, V16}, {'Idris.Core.TT.App', V17, V18, {'Idris.Core.TT.Local', V20, V21, 0}}}), case V26 of {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V28 = (('Idris.Idris2.Core.Context.Log':'un--log'(V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Failure!"/utf8>> end))(V5))), case V28 of {'Idris.Prelude.Types.Left', E18} -> (fun (V29) -> {'Idris.Prelude.Types.Left', V29} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V30) -> {'Idris.Prelude.Types.Right', V27} end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end()); {'Idris.Prelude.Types.Just', E20} -> (fun (V31) -> begin (V32 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V3, V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> <<" Success!"/utf8>> end, V31, V5))), case V32 of {'Idris.Prelude.Types.Left', E21} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E21)); {'Idris.Prelude.Types.Right', E22} -> (fun (V34) -> {'Idris.Prelude.Types.Right', V31} end(E22)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E20)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; _ -> {'Idris.Prelude.Types.Right', V4} end end(E13, E14, E15)); _ -> {'Idris.Prelude.Types.Right', V4} end end(E10, E11, E12)); _ -> {'Idris.Prelude.Types.Right', V4} end end(E6, E7, E8, E9)); _ -> {'Idris.Prelude.Types.Right', V4} end end(E2, E3, E4, E5)); _ -> {'Idris.Prelude.Types.Right', V4} end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--quote_Quote__Term'(V0, V1, V2, V3, V4, V5) -> begin (V6 = ('Idris.Idris2.Core.Core':'un--newRef'('erased', 'erased', {'Idris.Core.Normalise.QVar'}, 0, V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> ('dn--un--quoteGen_Quote__Term'(V0, V1, V8, V2, V3, V4, V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--quote_Quote__NF'(V0, V1, V2, V3, V4, V5) -> begin (V6 = ('Idris.Idris2.Core.Core':'un--newRef'('erased', 'erased', {'Idris.Core.Normalise.QVar'}, 0, V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> (('dn--un--quoteGen_Quote__NF'(V0, V1, V8, V2, V3, V4))(V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--quote_Quote__Closure'(V0, V1, V2, V3, V4, V5) -> begin (V6 = ('Idris.Idris2.Core.Core':'un--newRef'('erased', 'erased', {'Idris.Core.Normalise.QVar'}, 0, V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> ('dn--un--quoteGen_Quote__Closure'(V0, V1, V8, V2, V3, V4, V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--quoteGen_Quote__Term'(V0, V1, V2, V3, V4, V5, V6) -> {'Idris.Prelude.Types.Right', V5}. 'dn--un--quoteGen_Quote__NF'(V0, V1, V2, V3, V4, V5) -> ('un--quoteGenNF'(V0, [], V1, V2, V3, {'Idris.Core.TT.Bounds.None'}, V4, V5)). 'dn--un--quoteGen_Quote__Closure'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = (('un--evalClosure'(V0, V1, V3, V5))(V6))), case V7 of {'Idris.Prelude.Types.Left', E0} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V9) -> (('dn--un--quoteGen_Quote__NF'(V0, V1, V2, V3, V4, V9))(V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--convert_Convert__Term'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = ('Idris.Idris2.Core.Core':'un--newRef'('erased', 'erased', {'Idris.Core.Normalise.QVar'}, 0, V6))), case V7 of {'Idris.Prelude.Types.Left', E0} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V9) -> ('dn--un--convGen_Convert__Term'(V0, V1, V9, V2, V3, V4, V5, V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--convert_Convert__NF'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = ('Idris.Idris2.Core.Core':'un--newRef'('erased', 'erased', {'Idris.Core.Normalise.QVar'}, 0, V6))), case V7 of {'Idris.Prelude.Types.Left', E0} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V9) -> (('dn--un--convGen_Convert__NF'(V0, V1, V9, V2, V3, V4, V5))(V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--convert_Convert__Closure'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = ('Idris.Idris2.Core.Core':'un--newRef'('erased', 'erased', {'Idris.Core.Normalise.QVar'}, 0, V6))), case V7 of {'Idris.Prelude.Types.Left', E0} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V9) -> ('dn--un--convGen_Convert__Closure'(V0, V1, V9, V2, V3, V4, V5, V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--convGen_Convert__Term'(V0, V1, V2, V3, V4, V5, V6, V7) -> begin (V8 = (('un--nf'(V0, V1, V3, V4, V5))(V7))), 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 = (('un--nf'(V0, V1, V3, V4, V6))(V7))), case V11 of {'Idris.Prelude.Types.Left', E2} -> (fun (V12) -> {'Idris.Prelude.Types.Left', V12} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V13) -> (('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V10, V13))(V7)) end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of {'Idris.Core.Value.NBind', E218, E219, E220, E221} -> (fun (V7, V8, V9, V10) -> case V6 of {'Idris.Core.Value.NBind', E454, E455, E456, E457} -> (fun (V11, V12, V13, V14) -> fun (V15) -> begin (V16 = ('un--genName'(V2, <<"conv"/utf8>>, V15))), case V16 of {'Idris.Prelude.Types.Left', E458} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E458)); {'Idris.Prelude.Types.Right', E459} -> (fun (V18) -> begin (V19 = {'Idris.Core.Value.MkClosure', [], ('Idris.Idris2.Core.Value':'un--defaultOpts'()), {'Idris.Core.Value.Nil'}, V4, {'Idris.Core.TT.Ref', V7, {'Idris.Core.TT.Bound'}, V18}}), begin (V20 = (('un--convBinders'(V0, V1, V2, V3, V4, V9, V13))(V15))), case V20 of {'Idris.Prelude.Types.Left', E460} -> (fun (V21) -> {'Idris.Prelude.Types.Left', V21} end(E460)); {'Idris.Prelude.Types.Right', E461} -> (fun (V22) -> case V22 of 0 -> begin (V23 = (((V10(V3))(V19))(V15))), case V23 of {'Idris.Prelude.Types.Left', E462} -> (fun (V24) -> {'Idris.Prelude.Types.Left', V24} end(E462)); {'Idris.Prelude.Types.Right', E463} -> (fun (V25) -> begin (V26 = (((V14(V3))(V19))(V15))), case V26 of {'Idris.Prelude.Types.Left', E464} -> (fun (V27) -> {'Idris.Prelude.Types.Left', V27} end(E464)); {'Idris.Prelude.Types.Right', E465} -> (fun (V28) -> (('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V25, V28))(V15)) end(E465)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E463)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', 1}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E461)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E459)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E454, E455, E456, E457)); _ -> case V9 of {'Idris.Core.TT.Lam', E440, E441, E442, E443} -> (fun (V29, V30, V31, V32) -> fun (V33) -> begin (V34 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V3, V33))), case V34 of {'Idris.Prelude.Types.Left', E444} -> (fun (V35) -> {'Idris.Prelude.Types.Left', V35} end(E444)); {'Idris.Prelude.Types.Right', E445} -> (fun (V36) -> begin (V48 = begin (V39 = (('Idris.Idris2.Core.Core.PiInfo':'un--traverse'('erased', 'erased', fun (V37) -> fun (V38) -> ('dn--un--quote_Quote__NF'(V0, V1, V36, V4, V37, V38)) end end, V31))(V33))), case V39 of {'Idris.Prelude.Types.Left', E446} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E446)); {'Idris.Prelude.Types.Right', E447} -> (fun (V41) -> begin (V42 = ('dn--un--quote_Quote__NF'(V0, V1, V36, V4, V32, V33))), case V42 of {'Idris.Prelude.Types.Left', E448} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E448)); {'Idris.Prelude.Types.Right', E449} -> (fun (V44) -> begin (V45 = ('dn--un--quote_Quote__NF'(V0, V1, V36, V4, V6, V33))), case V45 of {'Idris.Prelude.Types.Left', E450} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E450)); {'Idris.Prelude.Types.Right', E451} -> (fun (V47) -> (('un--nf'(V0, V1, V3, V4, {'Idris.Core.TT.Bind', V7, V8, {'Idris.Core.TT.Lam', V29, V30, V41, V44}, {'Idris.Core.TT.App', V7, ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Term'('erased', 'erased', V47)), {'Idris.Core.TT.Local', V7, {'Idris.Prelude.Types.Nothing'}, 0}}}))(V33)) end(E451)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E449)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E447)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V48 of {'Idris.Prelude.Types.Left', E452} -> (fun (V49) -> {'Idris.Prelude.Types.Left', V49} end(E452)); {'Idris.Prelude.Types.Right', E453} -> (fun (V50) -> (('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V5, V50))(V33)) end(E453)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E445)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E440, E441, E442, E443)); _ -> case V6 of {'Idris.Core.Value.NBind', E322, E323, E324, E325} -> (fun (V51, V52, V53, V54) -> case V53 of {'Idris.Core.TT.Lam', E426, E427, E428, E429} -> (fun (V55, V56, V57, V58) -> fun (V59) -> begin (V60 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V3, V59))), case V60 of {'Idris.Prelude.Types.Left', E430} -> (fun (V61) -> {'Idris.Prelude.Types.Left', V61} end(E430)); {'Idris.Prelude.Types.Right', E431} -> (fun (V62) -> begin (V74 = begin (V65 = (('Idris.Idris2.Core.Core.PiInfo':'un--traverse'('erased', 'erased', fun (V63) -> fun (V64) -> ('dn--un--quote_Quote__NF'(V0, V1, V62, V4, V63, V64)) end end, V57))(V59))), case V65 of {'Idris.Prelude.Types.Left', E432} -> (fun (V66) -> {'Idris.Prelude.Types.Left', V66} end(E432)); {'Idris.Prelude.Types.Right', E433} -> (fun (V67) -> begin (V68 = ('dn--un--quote_Quote__NF'(V0, V1, V62, V4, V58, V59))), case V68 of {'Idris.Prelude.Types.Left', E434} -> (fun (V69) -> {'Idris.Prelude.Types.Left', V69} end(E434)); {'Idris.Prelude.Types.Right', E435} -> (fun (V70) -> begin (V71 = ('dn--un--quote_Quote__NF'(V0, V1, V62, V4, V5, V59))), case V71 of {'Idris.Prelude.Types.Left', E436} -> (fun (V72) -> {'Idris.Prelude.Types.Left', V72} end(E436)); {'Idris.Prelude.Types.Right', E437} -> (fun (V73) -> (('un--nf'(V0, V1, V3, V4, {'Idris.Core.TT.Bind', V51, V52, {'Idris.Core.TT.Lam', V55, V56, V67, V70}, {'Idris.Core.TT.App', V51, ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Term'('erased', 'erased', V73)), {'Idris.Core.TT.Local', V51, {'Idris.Prelude.Types.Nothing'}, 0}}}))(V59)) end(E437)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E435)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E433)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V74 of {'Idris.Prelude.Types.Left', E438} -> (fun (V75) -> {'Idris.Prelude.Types.Left', V75} end(E438)); {'Idris.Prelude.Types.Right', E439} -> (fun (V76) -> (('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V76, V6))(V59)) end(E439)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E431)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E426, E427, E428, E429)); _ -> case V5 of {'Idris.Core.Value.NApp', E330, E331, E332} -> (fun (V77, V78, V79) -> case V6 of {'Idris.Core.Value.NApp', E337, E338, E339} -> (fun (V80, V81, V82) -> fun (V83) -> begin (V84 = (('un--chkConvHead'(V0, V1, V2, V3, V4, V78, V81))(V83))), case V84 of {'Idris.Prelude.Types.Left', E340} -> (fun (V85) -> {'Idris.Prelude.Types.Left', V85} end(E340)); {'Idris.Prelude.Types.Right', E341} -> (fun (V86) -> case V86 of 0 -> (('un--allConv'(V0, V1, V2, V3, V4, V79, V82))(V83)); 1 -> (('un--chkConvCaseBlock'(V0, V1, V77, V2, V3, V4, V78, V79, V81, V82))(V83)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E341)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E337, E338, E339)); _ -> case V6 of {'Idris.Core.Value.NErased', E335, E336} -> (fun (V87, V88) -> fun (V89) -> {'Idris.Prelude.Types.Right', 0} end end(E335, E336)); _ -> case V5 of {'Idris.Core.Value.NType', E333} -> (fun (V90) -> case V6 of {'Idris.Core.Value.NType', E334} -> (fun (V91) -> fun (V92) -> {'Idris.Prelude.Types.Right', 0} end end(E334)); _ -> fun (V93) -> {'Idris.Prelude.Types.Right', 1} end end end(E333)); _ -> fun (V94) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E330, E331, E332)); {'Idris.Core.Value.NDCon', E342, E343, E344, E345, E346} -> (fun (V95, V96, V97, V98, V99) -> case V6 of {'Idris.Core.Value.NDCon', E351, E352, E353, E354, E355} -> (fun (V100, V101, V102, V103, V104) -> ('case--convGen-12891'(V1, V100, V103, V95, V98, V99, V97, V96, V104, V102, V101, V4, V3, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--==_Eq__Int'(V97, V102)))) end(E351, E352, E353, E354, E355)); _ -> case V6 of {'Idris.Core.Value.NErased', E349, E350} -> (fun (V105, V106) -> fun (V107) -> {'Idris.Prelude.Types.Right', 0} end end(E349, E350)); _ -> case V5 of {'Idris.Core.Value.NType', E347} -> (fun (V108) -> case V6 of {'Idris.Core.Value.NType', E348} -> (fun (V109) -> fun (V110) -> {'Idris.Prelude.Types.Right', 0} end end(E348)); _ -> fun (V111) -> {'Idris.Prelude.Types.Right', 1} end end end(E347)); _ -> fun (V112) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E342, E343, E344, E345, E346)); {'Idris.Core.Value.NTCon', E356, E357, E358, E359, E360} -> (fun (V113, V114, V115, V116, V117) -> case V6 of {'Idris.Core.Value.NTCon', E365, E366, E367, E368, E369} -> (fun (V118, V119, V120, V121, V122) -> ('case--convGen-12978'(V1, V118, V121, V113, V116, V117, V115, V114, V122, V120, V119, V4, V3, V2, V0, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V114, V119)))) end(E365, E366, E367, E368, E369)); _ -> case V6 of {'Idris.Core.Value.NErased', E363, E364} -> (fun (V123, V124) -> fun (V125) -> {'Idris.Prelude.Types.Right', 0} end end(E363, E364)); _ -> case V5 of {'Idris.Core.Value.NType', E361} -> (fun (V126) -> case V6 of {'Idris.Core.Value.NType', E362} -> (fun (V127) -> fun (V128) -> {'Idris.Prelude.Types.Right', 0} end end(E362)); _ -> fun (V129) -> {'Idris.Prelude.Types.Right', 1} end end end(E361)); _ -> fun (V130) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E356, E357, E358, E359, E360)); {'Idris.Core.Value.NAs', E370, E371, E372, E373} -> (fun (V131, V132, V133, V134) -> case V6 of {'Idris.Core.Value.NAs', E378, E379, E380, E381} -> (fun (V135, V136, V137, V138) -> ('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V134, V138)) end(E378, E379, E380, E381)); _ -> case V6 of {'Idris.Core.Value.NErased', E376, E377} -> (fun (V139, V140) -> fun (V141) -> {'Idris.Prelude.Types.Right', 0} end end(E376, E377)); _ -> case V5 of {'Idris.Core.Value.NType', E374} -> (fun (V142) -> case V6 of {'Idris.Core.Value.NType', E375} -> (fun (V143) -> fun (V144) -> {'Idris.Prelude.Types.Right', 0} end end(E375)); _ -> fun (V145) -> {'Idris.Prelude.Types.Right', 1} end end end(E374)); _ -> fun (V146) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E370, E371, E372, E373)); {'Idris.Core.Value.NDelayed', E382, E383, E384} -> (fun (V147, V148, V149) -> case V6 of {'Idris.Core.Value.NDelayed', E389, E390, E391} -> (fun (V150, V151, V152) -> ('case--convGen-13081'(V1, V150, V147, V149, V148, V152, V151, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V148, V151)))) end(E389, E390, E391)); _ -> case V6 of {'Idris.Core.Value.NErased', E387, E388} -> (fun (V153, V154) -> fun (V155) -> {'Idris.Prelude.Types.Right', 0} end end(E387, E388)); _ -> case V5 of {'Idris.Core.Value.NType', E385} -> (fun (V156) -> case V6 of {'Idris.Core.Value.NType', E386} -> (fun (V157) -> fun (V158) -> {'Idris.Prelude.Types.Right', 0} end end(E386)); _ -> fun (V159) -> {'Idris.Prelude.Types.Right', 1} end end end(E385)); _ -> fun (V160) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E382, E383, E384)); {'Idris.Core.Value.NDelay', E392, E393, E394, E395} -> (fun (V161, V162, V163, V164) -> case V6 of {'Idris.Core.Value.NDelay', E400, E401, E402, E403} -> (fun (V165, V166, V167, V168) -> ('case--convGen-13152'(V1, V165, V167, V161, V163, V164, V162, V168, V166, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V162, V166)))) end(E400, E401, E402, E403)); _ -> case V6 of {'Idris.Core.Value.NErased', E398, E399} -> (fun (V169, V170) -> fun (V171) -> {'Idris.Prelude.Types.Right', 0} end end(E398, E399)); _ -> case V5 of {'Idris.Core.Value.NType', E396} -> (fun (V172) -> case V6 of {'Idris.Core.Value.NType', E397} -> (fun (V173) -> fun (V174) -> {'Idris.Prelude.Types.Right', 0} end end(E397)); _ -> fun (V175) -> {'Idris.Prelude.Types.Right', 1} end end end(E396)); _ -> fun (V176) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E392, E393, E394, E395)); {'Idris.Core.Value.NForce', E404, E405, E406, E407} -> (fun (V177, V178, V179, V180) -> case V6 of {'Idris.Core.Value.NForce', E412, E413, E414, E415} -> (fun (V181, V182, V183, V184) -> ('case--convGen-13287'(V1, V181, V177, V180, V179, V178, V184, V183, V182, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V178, V182)))) end(E412, E413, E414, E415)); _ -> case V6 of {'Idris.Core.Value.NErased', E410, E411} -> (fun (V185, V186) -> fun (V187) -> {'Idris.Prelude.Types.Right', 0} end end(E410, E411)); _ -> case V5 of {'Idris.Core.Value.NType', E408} -> (fun (V188) -> case V6 of {'Idris.Core.Value.NType', E409} -> (fun (V189) -> fun (V190) -> {'Idris.Prelude.Types.Right', 0} end end(E409)); _ -> fun (V191) -> {'Idris.Prelude.Types.Right', 1} end end end(E408)); _ -> fun (V192) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E404, E405, E406, E407)); {'Idris.Core.Value.NPrimVal', E416, E417} -> (fun (V193, V194) -> case V6 of {'Idris.Core.Value.NPrimVal', E422, E423} -> (fun (V195, V196) -> fun (V197) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Constant'(V194, V196))} end end(E422, E423)); _ -> case V6 of {'Idris.Core.Value.NErased', E420, E421} -> (fun (V198, V199) -> fun (V200) -> {'Idris.Prelude.Types.Right', 0} end end(E420, E421)); _ -> case V5 of {'Idris.Core.Value.NType', E418} -> (fun (V201) -> case V6 of {'Idris.Core.Value.NType', E419} -> (fun (V202) -> fun (V203) -> {'Idris.Prelude.Types.Right', 0} end end(E419)); _ -> fun (V204) -> {'Idris.Prelude.Types.Right', 1} end end end(E418)); _ -> fun (V205) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E416, E417)); {'Idris.Core.Value.NErased', E424, E425} -> (fun (V206, V207) -> fun (V208) -> {'Idris.Prelude.Types.Right', 0} end end(E424, E425)); _ -> case V6 of {'Idris.Core.Value.NErased', E328, E329} -> (fun (V209, V210) -> fun (V211) -> {'Idris.Prelude.Types.Right', 0} end end(E328, E329)); _ -> case V5 of {'Idris.Core.Value.NType', E326} -> (fun (V212) -> case V6 of {'Idris.Core.Value.NType', E327} -> (fun (V213) -> fun (V214) -> {'Idris.Prelude.Types.Right', 0} end end(E327)); _ -> fun (V215) -> {'Idris.Prelude.Types.Right', 1} end end end(E326)); _ -> fun (V216) -> {'Idris.Prelude.Types.Right', 1} end end end end end end(E322, E323, E324, E325)); _ -> case V5 of {'Idris.Core.Value.NApp', E226, E227, E228} -> (fun (V217, V218, V219) -> case V6 of {'Idris.Core.Value.NApp', E233, E234, E235} -> (fun (V220, V221, V222) -> fun (V223) -> begin (V224 = (('un--chkConvHead'(V0, V1, V2, V3, V4, V218, V221))(V223))), case V224 of {'Idris.Prelude.Types.Left', E236} -> (fun (V225) -> {'Idris.Prelude.Types.Left', V225} end(E236)); {'Idris.Prelude.Types.Right', E237} -> (fun (V226) -> case V226 of 0 -> (('un--allConv'(V0, V1, V2, V3, V4, V219, V222))(V223)); 1 -> (('un--chkConvCaseBlock'(V0, V1, V217, V2, V3, V4, V218, V219, V221, V222))(V223)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E237)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E233, E234, E235)); _ -> case V6 of {'Idris.Core.Value.NErased', E231, E232} -> (fun (V227, V228) -> fun (V229) -> {'Idris.Prelude.Types.Right', 0} end end(E231, E232)); _ -> case V5 of {'Idris.Core.Value.NType', E229} -> (fun (V230) -> case V6 of {'Idris.Core.Value.NType', E230} -> (fun (V231) -> fun (V232) -> {'Idris.Prelude.Types.Right', 0} end end(E230)); _ -> fun (V233) -> {'Idris.Prelude.Types.Right', 1} end end end(E229)); _ -> fun (V234) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E226, E227, E228)); {'Idris.Core.Value.NDCon', E238, E239, E240, E241, E242} -> (fun (V235, V236, V237, V238, V239) -> case V6 of {'Idris.Core.Value.NDCon', E247, E248, E249, E250, E251} -> (fun (V240, V241, V242, V243, V244) -> ('case--convGen-12891'(V1, V240, V243, V235, V238, V239, V237, V236, V244, V242, V241, V4, V3, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--==_Eq__Int'(V237, V242)))) end(E247, E248, E249, E250, E251)); _ -> case V6 of {'Idris.Core.Value.NErased', E245, E246} -> (fun (V245, V246) -> fun (V247) -> {'Idris.Prelude.Types.Right', 0} end end(E245, E246)); _ -> case V5 of {'Idris.Core.Value.NType', E243} -> (fun (V248) -> case V6 of {'Idris.Core.Value.NType', E244} -> (fun (V249) -> fun (V250) -> {'Idris.Prelude.Types.Right', 0} end end(E244)); _ -> fun (V251) -> {'Idris.Prelude.Types.Right', 1} end end end(E243)); _ -> fun (V252) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E238, E239, E240, E241, E242)); {'Idris.Core.Value.NTCon', E252, E253, E254, E255, E256} -> (fun (V253, V254, V255, V256, V257) -> case V6 of {'Idris.Core.Value.NTCon', E261, E262, E263, E264, E265} -> (fun (V258, V259, V260, V261, V262) -> ('case--convGen-12978'(V1, V258, V261, V253, V256, V257, V255, V254, V262, V260, V259, V4, V3, V2, V0, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V254, V259)))) end(E261, E262, E263, E264, E265)); _ -> case V6 of {'Idris.Core.Value.NErased', E259, E260} -> (fun (V263, V264) -> fun (V265) -> {'Idris.Prelude.Types.Right', 0} end end(E259, E260)); _ -> case V5 of {'Idris.Core.Value.NType', E257} -> (fun (V266) -> case V6 of {'Idris.Core.Value.NType', E258} -> (fun (V267) -> fun (V268) -> {'Idris.Prelude.Types.Right', 0} end end(E258)); _ -> fun (V269) -> {'Idris.Prelude.Types.Right', 1} end end end(E257)); _ -> fun (V270) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E252, E253, E254, E255, E256)); {'Idris.Core.Value.NAs', E266, E267, E268, E269} -> (fun (V271, V272, V273, V274) -> case V6 of {'Idris.Core.Value.NAs', E274, E275, E276, E277} -> (fun (V275, V276, V277, V278) -> ('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V274, V278)) end(E274, E275, E276, E277)); _ -> case V6 of {'Idris.Core.Value.NErased', E272, E273} -> (fun (V279, V280) -> fun (V281) -> {'Idris.Prelude.Types.Right', 0} end end(E272, E273)); _ -> case V5 of {'Idris.Core.Value.NType', E270} -> (fun (V282) -> case V6 of {'Idris.Core.Value.NType', E271} -> (fun (V283) -> fun (V284) -> {'Idris.Prelude.Types.Right', 0} end end(E271)); _ -> fun (V285) -> {'Idris.Prelude.Types.Right', 1} end end end(E270)); _ -> fun (V286) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E266, E267, E268, E269)); {'Idris.Core.Value.NDelayed', E278, E279, E280} -> (fun (V287, V288, V289) -> case V6 of {'Idris.Core.Value.NDelayed', E285, E286, E287} -> (fun (V290, V291, V292) -> ('case--convGen-13081'(V1, V290, V287, V289, V288, V292, V291, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V288, V291)))) end(E285, E286, E287)); _ -> case V6 of {'Idris.Core.Value.NErased', E283, E284} -> (fun (V293, V294) -> fun (V295) -> {'Idris.Prelude.Types.Right', 0} end end(E283, E284)); _ -> case V5 of {'Idris.Core.Value.NType', E281} -> (fun (V296) -> case V6 of {'Idris.Core.Value.NType', E282} -> (fun (V297) -> fun (V298) -> {'Idris.Prelude.Types.Right', 0} end end(E282)); _ -> fun (V299) -> {'Idris.Prelude.Types.Right', 1} end end end(E281)); _ -> fun (V300) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E278, E279, E280)); {'Idris.Core.Value.NDelay', E288, E289, E290, E291} -> (fun (V301, V302, V303, V304) -> case V6 of {'Idris.Core.Value.NDelay', E296, E297, E298, E299} -> (fun (V305, V306, V307, V308) -> ('case--convGen-13152'(V1, V305, V307, V301, V303, V304, V302, V308, V306, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V302, V306)))) end(E296, E297, E298, E299)); _ -> case V6 of {'Idris.Core.Value.NErased', E294, E295} -> (fun (V309, V310) -> fun (V311) -> {'Idris.Prelude.Types.Right', 0} end end(E294, E295)); _ -> case V5 of {'Idris.Core.Value.NType', E292} -> (fun (V312) -> case V6 of {'Idris.Core.Value.NType', E293} -> (fun (V313) -> fun (V314) -> {'Idris.Prelude.Types.Right', 0} end end(E293)); _ -> fun (V315) -> {'Idris.Prelude.Types.Right', 1} end end end(E292)); _ -> fun (V316) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E288, E289, E290, E291)); {'Idris.Core.Value.NForce', E300, E301, E302, E303} -> (fun (V317, V318, V319, V320) -> case V6 of {'Idris.Core.Value.NForce', E308, E309, E310, E311} -> (fun (V321, V322, V323, V324) -> ('case--convGen-13287'(V1, V321, V317, V320, V319, V318, V324, V323, V322, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V318, V322)))) end(E308, E309, E310, E311)); _ -> case V6 of {'Idris.Core.Value.NErased', E306, E307} -> (fun (V325, V326) -> fun (V327) -> {'Idris.Prelude.Types.Right', 0} end end(E306, E307)); _ -> case V5 of {'Idris.Core.Value.NType', E304} -> (fun (V328) -> case V6 of {'Idris.Core.Value.NType', E305} -> (fun (V329) -> fun (V330) -> {'Idris.Prelude.Types.Right', 0} end end(E305)); _ -> fun (V331) -> {'Idris.Prelude.Types.Right', 1} end end end(E304)); _ -> fun (V332) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E300, E301, E302, E303)); {'Idris.Core.Value.NPrimVal', E312, E313} -> (fun (V333, V334) -> case V6 of {'Idris.Core.Value.NPrimVal', E318, E319} -> (fun (V335, V336) -> fun (V337) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Constant'(V334, V336))} end end(E318, E319)); _ -> case V6 of {'Idris.Core.Value.NErased', E316, E317} -> (fun (V338, V339) -> fun (V340) -> {'Idris.Prelude.Types.Right', 0} end end(E316, E317)); _ -> case V5 of {'Idris.Core.Value.NType', E314} -> (fun (V341) -> case V6 of {'Idris.Core.Value.NType', E315} -> (fun (V342) -> fun (V343) -> {'Idris.Prelude.Types.Right', 0} end end(E315)); _ -> fun (V344) -> {'Idris.Prelude.Types.Right', 1} end end end(E314)); _ -> fun (V345) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E312, E313)); {'Idris.Core.Value.NErased', E320, E321} -> (fun (V346, V347) -> fun (V348) -> {'Idris.Prelude.Types.Right', 0} end end(E320, E321)); _ -> case V6 of {'Idris.Core.Value.NErased', E224, E225} -> (fun (V349, V350) -> fun (V351) -> {'Idris.Prelude.Types.Right', 0} end end(E224, E225)); _ -> case V5 of {'Idris.Core.Value.NType', E222} -> (fun (V352) -> case V6 of {'Idris.Core.Value.NType', E223} -> (fun (V353) -> fun (V354) -> {'Idris.Prelude.Types.Right', 0} end end(E223)); _ -> fun (V355) -> {'Idris.Prelude.Types.Right', 1} end end end(E222)); _ -> fun (V356) -> {'Idris.Prelude.Types.Right', 1} end end end end end end end end(E218, E219, E220, E221)); _ -> case V6 of {'Idris.Core.Value.NBind', E100, E101, E102, E103} -> (fun (V357, V358, V359, V360) -> case V359 of {'Idris.Core.TT.Lam', E204, E205, E206, E207} -> (fun (V361, V362, V363, V364) -> fun (V365) -> begin (V366 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V3, V365))), case V366 of {'Idris.Prelude.Types.Left', E208} -> (fun (V367) -> {'Idris.Prelude.Types.Left', V367} end(E208)); {'Idris.Prelude.Types.Right', E209} -> (fun (V368) -> begin (V380 = begin (V371 = (('Idris.Idris2.Core.Core.PiInfo':'un--traverse'('erased', 'erased', fun (V369) -> fun (V370) -> ('dn--un--quote_Quote__NF'(V0, V1, V368, V4, V369, V370)) end end, V363))(V365))), case V371 of {'Idris.Prelude.Types.Left', E210} -> (fun (V372) -> {'Idris.Prelude.Types.Left', V372} end(E210)); {'Idris.Prelude.Types.Right', E211} -> (fun (V373) -> begin (V374 = ('dn--un--quote_Quote__NF'(V0, V1, V368, V4, V364, V365))), case V374 of {'Idris.Prelude.Types.Left', E212} -> (fun (V375) -> {'Idris.Prelude.Types.Left', V375} end(E212)); {'Idris.Prelude.Types.Right', E213} -> (fun (V376) -> begin (V377 = ('dn--un--quote_Quote__NF'(V0, V1, V368, V4, V5, V365))), case V377 of {'Idris.Prelude.Types.Left', E214} -> (fun (V378) -> {'Idris.Prelude.Types.Left', V378} end(E214)); {'Idris.Prelude.Types.Right', E215} -> (fun (V379) -> (('un--nf'(V0, V1, V3, V4, {'Idris.Core.TT.Bind', V357, V358, {'Idris.Core.TT.Lam', V361, V362, V373, V376}, {'Idris.Core.TT.App', V357, ('Idris.Idris2.Core.TT':'dn--un--weaken_Weaken__Term'('erased', 'erased', V379)), {'Idris.Core.TT.Local', V357, {'Idris.Prelude.Types.Nothing'}, 0}}}))(V365)) end(E215)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E213)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E211)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V380 of {'Idris.Prelude.Types.Left', E216} -> (fun (V381) -> {'Idris.Prelude.Types.Left', V381} end(E216)); {'Idris.Prelude.Types.Right', E217} -> (fun (V382) -> (('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V382, V6))(V365)) end(E217)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E209)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E204, E205, E206, E207)); _ -> case V5 of {'Idris.Core.Value.NApp', E108, E109, E110} -> (fun (V383, V384, V385) -> case V6 of {'Idris.Core.Value.NApp', E115, E116, E117} -> (fun (V386, V387, V388) -> fun (V389) -> begin (V390 = (('un--chkConvHead'(V0, V1, V2, V3, V4, V384, V387))(V389))), case V390 of {'Idris.Prelude.Types.Left', E118} -> (fun (V391) -> {'Idris.Prelude.Types.Left', V391} end(E118)); {'Idris.Prelude.Types.Right', E119} -> (fun (V392) -> case V392 of 0 -> (('un--allConv'(V0, V1, V2, V3, V4, V385, V388))(V389)); 1 -> (('un--chkConvCaseBlock'(V0, V1, V383, V2, V3, V4, V384, V385, V387, V388))(V389)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E119)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E115, E116, E117)); _ -> case V6 of {'Idris.Core.Value.NErased', E113, E114} -> (fun (V393, V394) -> fun (V395) -> {'Idris.Prelude.Types.Right', 0} end end(E113, E114)); _ -> case V5 of {'Idris.Core.Value.NType', E111} -> (fun (V396) -> case V6 of {'Idris.Core.Value.NType', E112} -> (fun (V397) -> fun (V398) -> {'Idris.Prelude.Types.Right', 0} end end(E112)); _ -> fun (V399) -> {'Idris.Prelude.Types.Right', 1} end end end(E111)); _ -> fun (V400) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E108, E109, E110)); {'Idris.Core.Value.NDCon', E120, E121, E122, E123, E124} -> (fun (V401, V402, V403, V404, V405) -> case V6 of {'Idris.Core.Value.NDCon', E129, E130, E131, E132, E133} -> (fun (V406, V407, V408, V409, V410) -> ('case--convGen-12891'(V1, V406, V409, V401, V404, V405, V403, V402, V410, V408, V407, V4, V3, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--==_Eq__Int'(V403, V408)))) end(E129, E130, E131, E132, E133)); _ -> case V6 of {'Idris.Core.Value.NErased', E127, E128} -> (fun (V411, V412) -> fun (V413) -> {'Idris.Prelude.Types.Right', 0} end end(E127, E128)); _ -> case V5 of {'Idris.Core.Value.NType', E125} -> (fun (V414) -> case V6 of {'Idris.Core.Value.NType', E126} -> (fun (V415) -> fun (V416) -> {'Idris.Prelude.Types.Right', 0} end end(E126)); _ -> fun (V417) -> {'Idris.Prelude.Types.Right', 1} end end end(E125)); _ -> fun (V418) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E120, E121, E122, E123, E124)); {'Idris.Core.Value.NTCon', E134, E135, E136, E137, E138} -> (fun (V419, V420, V421, V422, V423) -> case V6 of {'Idris.Core.Value.NTCon', E143, E144, E145, E146, E147} -> (fun (V424, V425, V426, V427, V428) -> ('case--convGen-12978'(V1, V424, V427, V419, V422, V423, V421, V420, V428, V426, V425, V4, V3, V2, V0, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V420, V425)))) end(E143, E144, E145, E146, E147)); _ -> case V6 of {'Idris.Core.Value.NErased', E141, E142} -> (fun (V429, V430) -> fun (V431) -> {'Idris.Prelude.Types.Right', 0} end end(E141, E142)); _ -> case V5 of {'Idris.Core.Value.NType', E139} -> (fun (V432) -> case V6 of {'Idris.Core.Value.NType', E140} -> (fun (V433) -> fun (V434) -> {'Idris.Prelude.Types.Right', 0} end end(E140)); _ -> fun (V435) -> {'Idris.Prelude.Types.Right', 1} end end end(E139)); _ -> fun (V436) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E134, E135, E136, E137, E138)); {'Idris.Core.Value.NAs', E148, E149, E150, E151} -> (fun (V437, V438, V439, V440) -> case V6 of {'Idris.Core.Value.NAs', E156, E157, E158, E159} -> (fun (V441, V442, V443, V444) -> ('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V440, V444)) end(E156, E157, E158, E159)); _ -> case V6 of {'Idris.Core.Value.NErased', E154, E155} -> (fun (V445, V446) -> fun (V447) -> {'Idris.Prelude.Types.Right', 0} end end(E154, E155)); _ -> case V5 of {'Idris.Core.Value.NType', E152} -> (fun (V448) -> case V6 of {'Idris.Core.Value.NType', E153} -> (fun (V449) -> fun (V450) -> {'Idris.Prelude.Types.Right', 0} end end(E153)); _ -> fun (V451) -> {'Idris.Prelude.Types.Right', 1} end end end(E152)); _ -> fun (V452) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E148, E149, E150, E151)); {'Idris.Core.Value.NDelayed', E160, E161, E162} -> (fun (V453, V454, V455) -> case V6 of {'Idris.Core.Value.NDelayed', E167, E168, E169} -> (fun (V456, V457, V458) -> ('case--convGen-13081'(V1, V456, V453, V455, V454, V458, V457, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V454, V457)))) end(E167, E168, E169)); _ -> case V6 of {'Idris.Core.Value.NErased', E165, E166} -> (fun (V459, V460) -> fun (V461) -> {'Idris.Prelude.Types.Right', 0} end end(E165, E166)); _ -> case V5 of {'Idris.Core.Value.NType', E163} -> (fun (V462) -> case V6 of {'Idris.Core.Value.NType', E164} -> (fun (V463) -> fun (V464) -> {'Idris.Prelude.Types.Right', 0} end end(E164)); _ -> fun (V465) -> {'Idris.Prelude.Types.Right', 1} end end end(E163)); _ -> fun (V466) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E160, E161, E162)); {'Idris.Core.Value.NDelay', E170, E171, E172, E173} -> (fun (V467, V468, V469, V470) -> case V6 of {'Idris.Core.Value.NDelay', E178, E179, E180, E181} -> (fun (V471, V472, V473, V474) -> ('case--convGen-13152'(V1, V471, V473, V467, V469, V470, V468, V474, V472, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V468, V472)))) end(E178, E179, E180, E181)); _ -> case V6 of {'Idris.Core.Value.NErased', E176, E177} -> (fun (V475, V476) -> fun (V477) -> {'Idris.Prelude.Types.Right', 0} end end(E176, E177)); _ -> case V5 of {'Idris.Core.Value.NType', E174} -> (fun (V478) -> case V6 of {'Idris.Core.Value.NType', E175} -> (fun (V479) -> fun (V480) -> {'Idris.Prelude.Types.Right', 0} end end(E175)); _ -> fun (V481) -> {'Idris.Prelude.Types.Right', 1} end end end(E174)); _ -> fun (V482) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E170, E171, E172, E173)); {'Idris.Core.Value.NForce', E182, E183, E184, E185} -> (fun (V483, V484, V485, V486) -> case V6 of {'Idris.Core.Value.NForce', E190, E191, E192, E193} -> (fun (V487, V488, V489, V490) -> ('case--convGen-13287'(V1, V487, V483, V486, V485, V484, V490, V489, V488, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V484, V488)))) end(E190, E191, E192, E193)); _ -> case V6 of {'Idris.Core.Value.NErased', E188, E189} -> (fun (V491, V492) -> fun (V493) -> {'Idris.Prelude.Types.Right', 0} end end(E188, E189)); _ -> case V5 of {'Idris.Core.Value.NType', E186} -> (fun (V494) -> case V6 of {'Idris.Core.Value.NType', E187} -> (fun (V495) -> fun (V496) -> {'Idris.Prelude.Types.Right', 0} end end(E187)); _ -> fun (V497) -> {'Idris.Prelude.Types.Right', 1} end end end(E186)); _ -> fun (V498) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E182, E183, E184, E185)); {'Idris.Core.Value.NPrimVal', E194, E195} -> (fun (V499, V500) -> case V6 of {'Idris.Core.Value.NPrimVal', E200, E201} -> (fun (V501, V502) -> fun (V503) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Constant'(V500, V502))} end end(E200, E201)); _ -> case V6 of {'Idris.Core.Value.NErased', E198, E199} -> (fun (V504, V505) -> fun (V506) -> {'Idris.Prelude.Types.Right', 0} end end(E198, E199)); _ -> case V5 of {'Idris.Core.Value.NType', E196} -> (fun (V507) -> case V6 of {'Idris.Core.Value.NType', E197} -> (fun (V508) -> fun (V509) -> {'Idris.Prelude.Types.Right', 0} end end(E197)); _ -> fun (V510) -> {'Idris.Prelude.Types.Right', 1} end end end(E196)); _ -> fun (V511) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E194, E195)); {'Idris.Core.Value.NErased', E202, E203} -> (fun (V512, V513) -> fun (V514) -> {'Idris.Prelude.Types.Right', 0} end end(E202, E203)); _ -> case V6 of {'Idris.Core.Value.NErased', E106, E107} -> (fun (V515, V516) -> fun (V517) -> {'Idris.Prelude.Types.Right', 0} end end(E106, E107)); _ -> case V5 of {'Idris.Core.Value.NType', E104} -> (fun (V518) -> case V6 of {'Idris.Core.Value.NType', E105} -> (fun (V519) -> fun (V520) -> {'Idris.Prelude.Types.Right', 0} end end(E105)); _ -> fun (V521) -> {'Idris.Prelude.Types.Right', 1} end end end(E104)); _ -> fun (V522) -> {'Idris.Prelude.Types.Right', 1} end end end end end end(E100, E101, E102, E103)); _ -> case V5 of {'Idris.Core.Value.NApp', E4, E5, E6} -> (fun (V523, V524, V525) -> case V6 of {'Idris.Core.Value.NApp', E11, E12, E13} -> (fun (V526, V527, V528) -> fun (V529) -> begin (V530 = (('un--chkConvHead'(V0, V1, V2, V3, V4, V524, V527))(V529))), case V530 of {'Idris.Prelude.Types.Left', E14} -> (fun (V531) -> {'Idris.Prelude.Types.Left', V531} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V532) -> case V532 of 0 -> (('un--allConv'(V0, V1, V2, V3, V4, V525, V528))(V529)); 1 -> (('un--chkConvCaseBlock'(V0, V1, V523, V2, V3, V4, V524, V525, V527, V528))(V529)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E11, E12, E13)); _ -> case V6 of {'Idris.Core.Value.NErased', E9, E10} -> (fun (V533, V534) -> fun (V535) -> {'Idris.Prelude.Types.Right', 0} end end(E9, E10)); _ -> case V5 of {'Idris.Core.Value.NType', E7} -> (fun (V536) -> case V6 of {'Idris.Core.Value.NType', E8} -> (fun (V537) -> fun (V538) -> {'Idris.Prelude.Types.Right', 0} end end(E8)); _ -> fun (V539) -> {'Idris.Prelude.Types.Right', 1} end end end(E7)); _ -> fun (V540) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E4, E5, E6)); {'Idris.Core.Value.NDCon', E16, E17, E18, E19, E20} -> (fun (V541, V542, V543, V544, V545) -> case V6 of {'Idris.Core.Value.NDCon', E25, E26, E27, E28, E29} -> (fun (V546, V547, V548, V549, V550) -> ('case--convGen-12891'(V1, V546, V549, V541, V544, V545, V543, V542, V550, V548, V547, V4, V3, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--==_Eq__Int'(V543, V548)))) end(E25, E26, E27, E28, E29)); _ -> case V6 of {'Idris.Core.Value.NErased', E23, E24} -> (fun (V551, V552) -> fun (V553) -> {'Idris.Prelude.Types.Right', 0} end end(E23, E24)); _ -> case V5 of {'Idris.Core.Value.NType', E21} -> (fun (V554) -> case V6 of {'Idris.Core.Value.NType', E22} -> (fun (V555) -> fun (V556) -> {'Idris.Prelude.Types.Right', 0} end end(E22)); _ -> fun (V557) -> {'Idris.Prelude.Types.Right', 1} end end end(E21)); _ -> fun (V558) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E16, E17, E18, E19, E20)); {'Idris.Core.Value.NTCon', E30, E31, E32, E33, E34} -> (fun (V559, V560, V561, V562, V563) -> case V6 of {'Idris.Core.Value.NTCon', E39, E40, E41, E42, E43} -> (fun (V564, V565, V566, V567, V568) -> ('case--convGen-12978'(V1, V564, V567, V559, V562, V563, V561, V560, V568, V566, V565, V4, V3, V2, V0, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V560, V565)))) end(E39, E40, E41, E42, E43)); _ -> case V6 of {'Idris.Core.Value.NErased', E37, E38} -> (fun (V569, V570) -> fun (V571) -> {'Idris.Prelude.Types.Right', 0} end end(E37, E38)); _ -> case V5 of {'Idris.Core.Value.NType', E35} -> (fun (V572) -> case V6 of {'Idris.Core.Value.NType', E36} -> (fun (V573) -> fun (V574) -> {'Idris.Prelude.Types.Right', 0} end end(E36)); _ -> fun (V575) -> {'Idris.Prelude.Types.Right', 1} end end end(E35)); _ -> fun (V576) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E30, E31, E32, E33, E34)); {'Idris.Core.Value.NAs', E44, E45, E46, E47} -> (fun (V577, V578, V579, V580) -> case V6 of {'Idris.Core.Value.NAs', E52, E53, E54, E55} -> (fun (V581, V582, V583, V584) -> ('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V580, V584)) end(E52, E53, E54, E55)); _ -> case V6 of {'Idris.Core.Value.NErased', E50, E51} -> (fun (V585, V586) -> fun (V587) -> {'Idris.Prelude.Types.Right', 0} end end(E50, E51)); _ -> case V5 of {'Idris.Core.Value.NType', E48} -> (fun (V588) -> case V6 of {'Idris.Core.Value.NType', E49} -> (fun (V589) -> fun (V590) -> {'Idris.Prelude.Types.Right', 0} end end(E49)); _ -> fun (V591) -> {'Idris.Prelude.Types.Right', 1} end end end(E48)); _ -> fun (V592) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E44, E45, E46, E47)); {'Idris.Core.Value.NDelayed', E56, E57, E58} -> (fun (V593, V594, V595) -> case V6 of {'Idris.Core.Value.NDelayed', E63, E64, E65} -> (fun (V596, V597, V598) -> ('case--convGen-13081'(V1, V596, V593, V595, V594, V598, V597, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V594, V597)))) end(E63, E64, E65)); _ -> case V6 of {'Idris.Core.Value.NErased', E61, E62} -> (fun (V599, V600) -> fun (V601) -> {'Idris.Prelude.Types.Right', 0} end end(E61, E62)); _ -> case V5 of {'Idris.Core.Value.NType', E59} -> (fun (V602) -> case V6 of {'Idris.Core.Value.NType', E60} -> (fun (V603) -> fun (V604) -> {'Idris.Prelude.Types.Right', 0} end end(E60)); _ -> fun (V605) -> {'Idris.Prelude.Types.Right', 1} end end end(E59)); _ -> fun (V606) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E56, E57, E58)); {'Idris.Core.Value.NDelay', E66, E67, E68, E69} -> (fun (V607, V608, V609, V610) -> case V6 of {'Idris.Core.Value.NDelay', E74, E75, E76, E77} -> (fun (V611, V612, V613, V614) -> ('case--convGen-13152'(V1, V611, V613, V607, V609, V610, V608, V614, V612, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V608, V612)))) end(E74, E75, E76, E77)); _ -> case V6 of {'Idris.Core.Value.NErased', E72, E73} -> (fun (V615, V616) -> fun (V617) -> {'Idris.Prelude.Types.Right', 0} end end(E72, E73)); _ -> case V5 of {'Idris.Core.Value.NType', E70} -> (fun (V618) -> case V6 of {'Idris.Core.Value.NType', E71} -> (fun (V619) -> fun (V620) -> {'Idris.Prelude.Types.Right', 0} end end(E71)); _ -> fun (V621) -> {'Idris.Prelude.Types.Right', 1} end end end(E70)); _ -> fun (V622) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E66, E67, E68, E69)); {'Idris.Core.Value.NForce', E78, E79, E80, E81} -> (fun (V623, V624, V625, V626) -> case V6 of {'Idris.Core.Value.NForce', E86, E87, E88, E89} -> (fun (V627, V628, V629, V630) -> ('case--convGen-13287'(V1, V627, V623, V626, V625, V624, V630, V629, V628, V4, V3, V2, V0, ('Idris.Idris2.Core.TT':'un--compatible'(V624, V628)))) end(E86, E87, E88, E89)); _ -> case V6 of {'Idris.Core.Value.NErased', E84, E85} -> (fun (V631, V632) -> fun (V633) -> {'Idris.Prelude.Types.Right', 0} end end(E84, E85)); _ -> case V5 of {'Idris.Core.Value.NType', E82} -> (fun (V634) -> case V6 of {'Idris.Core.Value.NType', E83} -> (fun (V635) -> fun (V636) -> {'Idris.Prelude.Types.Right', 0} end end(E83)); _ -> fun (V637) -> {'Idris.Prelude.Types.Right', 1} end end end(E82)); _ -> fun (V638) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E78, E79, E80, E81)); {'Idris.Core.Value.NPrimVal', E90, E91} -> (fun (V639, V640) -> case V6 of {'Idris.Core.Value.NPrimVal', E96, E97} -> (fun (V641, V642) -> fun (V643) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Constant'(V640, V642))} end end(E96, E97)); _ -> case V6 of {'Idris.Core.Value.NErased', E94, E95} -> (fun (V644, V645) -> fun (V646) -> {'Idris.Prelude.Types.Right', 0} end end(E94, E95)); _ -> case V5 of {'Idris.Core.Value.NType', E92} -> (fun (V647) -> case V6 of {'Idris.Core.Value.NType', E93} -> (fun (V648) -> fun (V649) -> {'Idris.Prelude.Types.Right', 0} end end(E93)); _ -> fun (V650) -> {'Idris.Prelude.Types.Right', 1} end end end(E92)); _ -> fun (V651) -> {'Idris.Prelude.Types.Right', 1} end end end end end(E90, E91)); {'Idris.Core.Value.NErased', E98, E99} -> (fun (V652, V653) -> fun (V654) -> {'Idris.Prelude.Types.Right', 0} end end(E98, E99)); _ -> case V6 of {'Idris.Core.Value.NErased', E2, E3} -> (fun (V655, V656) -> fun (V657) -> {'Idris.Prelude.Types.Right', 0} end end(E2, E3)); _ -> case V5 of {'Idris.Core.Value.NType', E0} -> (fun (V658) -> case V6 of {'Idris.Core.Value.NType', E1} -> (fun (V659) -> fun (V660) -> {'Idris.Prelude.Types.Right', 0} end end(E1)); _ -> fun (V661) -> {'Idris.Prelude.Types.Right', 1} end end end(E0)); _ -> fun (V662) -> {'Idris.Prelude.Types.Right', 1} end end end end end end. 'dn--un--convGen_Convert__Closure'(V0, V1, V2, V3, V4, V5, V6, V7) -> begin (V8 = (('un--evalClosure'(V0, V1, V3, V5))(V7))), 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 = (('un--evalClosure'(V0, V1, V3, V6))(V7))), case V11 of {'Idris.Prelude.Types.Left', E2} -> (fun (V12) -> {'Idris.Prelude.Types.Left', V12} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V13) -> (('dn--un--convGen_Convert__NF'(V0, V1, V2, V3, V4, V10, V13))(V7)) end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'dn--un--__Impl_Quote_Term'() -> {'Idris.Core.Normalise.dn--un--__mkQuote', fun (V0) -> fun (V1) -> fun (V2) -> fun (V3) -> fun (V4) -> fun (V5) -> ('dn--un--quote_Quote__Term'(V0, V1, V2, V3, V4, V5)) end end end end end end, fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> fun (V12) -> ('dn--un--quoteGen_Quote__Term'(V6, V7, V8, V9, V10, V11, V12)) end end end end end end end}. 'dn--un--__Impl_Quote_NF'() -> {'Idris.Core.Normalise.dn--un--__mkQuote', fun (V0) -> fun (V1) -> fun (V2) -> fun (V3) -> fun (V4) -> fun (V5) -> ('dn--un--quote_Quote__NF'(V0, V1, V2, V3, V4, V5)) end end end end end end, fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> ('dn--un--quoteGen_Quote__NF'(V6, V7, V8, V9, V10, V11)) end end end end end end}. 'dn--un--__Impl_Quote_Closure'() -> {'Idris.Core.Normalise.dn--un--__mkQuote', fun (V0) -> fun (V1) -> fun (V2) -> fun (V3) -> fun (V4) -> fun (V5) -> ('dn--un--quote_Quote__Closure'(V0, V1, V2, V3, V4, V5)) end end end end end end, fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> fun (V12) -> ('dn--un--quoteGen_Quote__Closure'(V6, V7, V8, V9, V10, V11, V12)) end end end end end end end}. 'dn--un--__Impl_Convert_Term'() -> {'Idris.Core.Normalise.dn--un--__mkConvert', fun (V0) -> fun (V1) -> fun (V2) -> fun (V3) -> fun (V4) -> fun (V5) -> fun (V6) -> ('dn--un--convert_Convert__Term'(V0, V1, V2, V3, V4, V5, V6)) end end end end end end end, fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> fun (V12) -> fun (V13) -> fun (V14) -> ('dn--un--convGen_Convert__Term'(V7, V8, V9, V10, V11, V12, V13, V14)) end end end end end end end end}. 'dn--un--__Impl_Convert_NF'() -> {'Idris.Core.Normalise.dn--un--__mkConvert', fun (V0) -> fun (V1) -> fun (V2) -> fun (V3) -> fun (V4) -> fun (V5) -> fun (V6) -> ('dn--un--convert_Convert__NF'(V0, V1, V2, V3, V4, V5, V6)) end end end end end end end, fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> fun (V12) -> fun (V13) -> ('dn--un--convGen_Convert__NF'(V7, V8, V9, V10, V11, V12, V13)) end end end end end end end}. 'dn--un--__Impl_Convert_Closure'() -> {'Idris.Core.Normalise.dn--un--__mkConvert', fun (V0) -> fun (V1) -> fun (V2) -> fun (V3) -> fun (V4) -> fun (V5) -> fun (V6) -> ('dn--un--convert_Convert__Closure'(V0, V1, V2, V3, V4, V5, V6)) end end end end end end end, fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> fun (V12) -> fun (V13) -> fun (V14) -> ('dn--un--convGen_Convert__Closure'(V7, V8, V9, V10, V11, V12, V13, V14)) end end end end end end end end}. 'un--useMeta'(V0, V1, V2, V3, V4) -> case V0 of 1 -> fun (V5) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V4}} end; 0 -> case V2 of {'Idris.Core.Name.Resolved', E26} -> (fun (V6) -> ('case--useMeta-3283'(V6, V4, V3, V1, ('Idris.Idris2.Data.IntMap':'un--lookup'('erased', V6, case V4 of {'Idris.Core.Value.MkEvalOpts', E27, E28, E29, E30, E31, E32, E33, E34} -> (fun (V7, V8, V9, V10, V11, V12, V13, V14) -> V10 end(E27, E28, E29, E30, E31, E32, E33, E34)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) end(E26)); _ -> ('case--useMeta-3338'(V4, V3, V2, V1, ('Idris.Idris2.Core.Context':'un--getNameID'(V2, case V3 of {'Idris.Core.Context.MkDefs', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40) -> V15 end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))) end; _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--updateLocal'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V5 of 0 -> case V7 of {'Idris.Core.Value.::', E2, E3} -> (fun (V9, V10) -> {'Idris.Core.Value.::', {'Idris.Core.Value.MkNFClosure', V8}, V10} end(E2, E3)); _ -> V7 end; _ -> begin (V11 = (V5 - 1)), case V7 of {'Idris.Core.Value.::', E0, E1} -> (fun (V12, V13) -> {'Idris.Core.Value.::', V12, ('un--updateLocal'(V0, V1, 'erased', 'erased', 'erased', V11, 'erased', V13, V8))} end(E0, E1)); _ -> V7 end end end. 'un--updateLimit'(V0, V1, V2) -> case V0 of {'Idris.Core.TT.Func'} -> (fun () -> ('case--updateLimit-3434'(V2, V1, ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Data.List':'un--isNil'('erased', case V2 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V3, V4, V5, V6, V7, V8, V9, V10) -> V10 end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)))))) end()); _ -> fun (V11) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V2}} end end. 'un--tryUpdate'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.TT.Local', E0, E1, E2} -> (fun (V4, V5, V6) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--13087-8813--in--un--findIdx'(V0, V1, 'erased', V6, 'erased', V5, V4, V2, V2, V6)), fun (V7) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Local', V4, V5, V7})) end)) end(E0, E1, E2)); {'Idris.Core.TT.Ref', E3, E4, E5} -> (fun (V8, V9, V10) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Ref', V8, V9, V10})) end(E3, E4, E5)); {'Idris.Core.TT.Meta', E6, E7, E8, E9} -> (fun (V11, V12, V13, V14) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('Idris.Idris2.Prelude.Types':'dn--un--traverse_Traversable__List'('erased', 'erased', 'erased', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__Maybe'('erased', 'erased', V17, V18)) end end end end, fun (V19) -> fun (V20) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', V20)) end end, fun (V21) -> fun (V22) -> fun (V23) -> fun (V24) -> ('Idris.Idris2.Prelude.Types':'dn--un--<*>_Applicative__Maybe'('erased', 'erased', V23, V24)) end end end end}, fun (V25) -> ('un--tryUpdate'(V0, V1, V2, V25)) end, V14)), fun (V26) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Meta', V11, V12, V13, V26})) end)) end(E6, E7, E8, E9)); {'Idris.Core.TT.Bind', E10, E11, E12, E13} -> (fun (V27, V28, V29, V30) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('nested--13087-8982--in--un--tryUpdateB'(V0, V1, V28, V30, V29, V27, V2, V29)), fun (V31) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'([V28 | V0], [V28 | V1], ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__List'('erased', 'erased', fun (V32) -> ('nested--13087-8983--in--un--weakenP'(V0, V1, V28, V30, V29, V27, V2, V28, V32)) end, V2)), V30)), fun (V33) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Bind', V27, V28, V31, V33})) end)) end)) end(E10, E11, E12, E13)); {'Idris.Core.TT.App', E14, E15, E16} -> (fun (V34, V35, V36) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V35)), fun (V37) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V36)), fun (V38) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.App', V34, V37, V38})) end)) end)) end(E14, E15, E16)); {'Idris.Core.TT.As', E17, E18, E19, E20} -> (fun (V39, V40, V41, V42) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V41)), fun (V43) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V42)), fun (V44) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.As', V39, V40, V43, V44})) end)) end)) end(E17, E18, E19, E20)); {'Idris.Core.TT.TDelayed', E21, E22, E23} -> (fun (V45, V46, V47) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V47)), fun (V48) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.TDelayed', V45, V46, V48})) end)) end(E21, E22, E23)); {'Idris.Core.TT.TDelay', E24, E25, E26, E27} -> (fun (V49, V50, V51, V52) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V51)), fun (V53) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V52)), fun (V54) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.TDelay', V49, V50, V53, V54})) end)) end)) end(E24, E25, E26, E27)); {'Idris.Core.TT.TForce', E28, E29, E30} -> (fun (V55, V56, V57) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--tryUpdate'(V0, V1, V2, V57)), fun (V58) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.TForce', V55, V56, V58})) end)) end(E28, E29, E30)); {'Idris.Core.TT.PrimVal', E31, E32} -> (fun (V59, V60) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.PrimVal', V59, V60})) end(E31, E32)); {'Idris.Core.TT.Erased', E33, E34} -> (fun (V61, V62) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.Erased', V61, V62})) end(E33, E34)); {'Idris.Core.TT.TType', E35} -> (fun (V63) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Core.TT.TType', V63})) end(E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--tryAlt'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V10 of {'Idris.Core.Value.NDCon', E1, E2, E3, E4, E5} -> (fun (V12, V13, V14, V15, V16) -> case V11 of {'Idris.Core.CaseTree.ConCase', E7, E8, E9, E10} -> (fun (V17, V18, V19, V20) -> ('case--tryAlt-4939'(V0, V1, V3, V12, V16, V15, V14, V13, V19, V4, V20, V18, V17, V9, V8, V7, V6, V5, V2, ('Idris.Idris2.Prelude.EqOrd':'dn--un--==_Eq__Int'(V18, V14)))) end(E7, E8, E9, E10)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E6} -> (fun (V21) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V21, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V21, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E6)); _ -> fun (V22) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E1, E2, E3, E4, E5)); {'Idris.Core.Value.NTCon', E11, E12, E13, E14, E15} -> (fun (V23, V24, V25, V26, V27) -> case V11 of {'Idris.Core.CaseTree.ConCase', E17, E18, E19, E20} -> (fun (V28, V29, V30, V31) -> ('case--tryAlt-5038'(V0, V1, V3, V23, V27, V26, V25, V24, V30, V4, V31, V29, V28, V9, V8, V7, V6, V5, V2, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V24, V28)))) end(E17, E18, E19, E20)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E16} -> (fun (V32) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V32, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V32, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E16)); _ -> fun (V33) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E11, E12, E13, E14, E15)); {'Idris.Core.Value.NPrimVal', E21, E22} -> (fun (V34, V35) -> case V11 of {'Idris.Core.CaseTree.ConCase', E24, E25, E26, E27} -> (fun (V36, V37, V38, V39) -> case V38 of [] -> ('case--tryAlt-5146'(V0, V1, V2, V3, V4, V34, V35, V39, V37, V36, V9, V8, V7, V6, V5, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'({'Idris.Core.Name.UN', ('Idris.Idris2.Core.TT':'dn--un--show_Show__Constant'(V35))}, V36)))); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E28} -> (fun (V40) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V40, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V40, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E28)); _ -> fun (V41) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E24, E25, E26, E27)); {'Idris.Core.CaseTree.ConstCase', E29, E30} -> (fun (V42, V43) -> ('case--tryAlt-5321'(V0, V1, V2, V3, V4, V34, V35, V43, V42, V9, V8, V7, V6, V5, ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Constant'(V42, V35)))) end(E29, E30)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E23} -> (fun (V44) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V44, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V44, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E23)); _ -> fun (V45) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E21, E22)); {'Idris.Core.Value.NType', E31} -> (fun (V46) -> case V11 of {'Idris.Core.CaseTree.ConCase', E33, E34, E35, E36} -> (fun (V47, V48, V49, V50) -> case V47 of {'Idris.Core.Name.UN', E38} -> (fun (V51) -> case V51 of <<"Type"/utf8>> -> case V49 of [] -> ('un--evalTree'(V0, V1, V2, V4, V3, V5, V6, V7, V8, V9, V50)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E40} -> (fun (V52) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V52, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V52, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E40)); _ -> fun (V53) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end; _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E39} -> (fun (V54) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V54, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V54, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E39)); _ -> fun (V55) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E38)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E37} -> (fun (V56) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V56, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V56, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E37)); _ -> fun (V57) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E33, E34, E35, E36)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E32} -> (fun (V58) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V58, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V58, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E32)); _ -> fun (V59) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E31)); {'Idris.Core.Value.NBind', E41, E42, E43, E44} -> (fun (V60, V61, V62, V63) -> case V62 of {'Idris.Core.TT.Pi', E46, E47, E48, E49} -> (fun (V64, V65, V66, V67) -> case V11 of {'Idris.Core.CaseTree.ConCase', E51, E52, E53, E54} -> (fun (V68, V69, V70, V71) -> case V68 of {'Idris.Core.Name.UN', E56} -> (fun (V72) -> case V72 of <<"->"/utf8>> -> case V70 of [E59 | E60] -> (fun (V73, V74) -> case V74 of [E62 | E63] -> (fun (V75, V76) -> case V76 of [] -> ('un--evalConAlt'(V0, V1, V2, V4, V3, V5, V6, V7, V8, V9, [V73 | [V75 | []]], [{'Idris.Core.Value.MkNFClosure', V67} | [{'Idris.Core.Value.MkNFClosure', {'Idris.Core.Value.NBind', V60, V61, {'Idris.Core.TT.Lam', V64, V65, V66, V67}, V63}} | []]], V71)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E64} -> (fun (V77) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V77, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V77, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E64)); _ -> fun (V78) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E62, E63)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E61} -> (fun (V79) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V79, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V79, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E61)); _ -> fun (V80) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E59, E60)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E58} -> (fun (V81) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V81, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V81, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E58)); _ -> fun (V82) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end; _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E57} -> (fun (V83) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V83, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V83, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E57)); _ -> fun (V84) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E56)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E55} -> (fun (V85) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V85, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V85, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E55)); _ -> fun (V86) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E51, E52, E53, E54)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E50} -> (fun (V87) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V87, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V87, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E50)); _ -> fun (V88) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E46, E47, E48, E49)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E45} -> (fun (V89) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V89, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V89, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E45)); _ -> fun (V90) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E41, E42, E43, E44)); {'Idris.Core.Value.NDelay', E65, E66, E67, E68} -> (fun (V91, V92, V93, V94) -> case V11 of {'Idris.Core.CaseTree.DelayCase', E70, E71, E72} -> (fun (V95, V96, V97) -> ('un--evalTree'(V0, V1, V2, [V95 | [V96 | V4]], V3, V5, {'Idris.Core.Value.::', V93, {'Idris.Core.Value.::', V94, V6}}, V7, V8, V9, V97)) end(E70, E71, E72)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E69} -> (fun (V98) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V98, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V98, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E69)); _ -> fun (V99) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end end(E65, E66, E67, E68)); _ -> case V11 of {'Idris.Core.CaseTree.DefaultCase', E0} -> (fun (V100) -> ('case--tryAlt-5442'(V0, V1, V3, V4, V100, V10, V9, V8, V7, V6, V5, V2, ('nested--7367-5392--in--un--concrete'(V0, V1, V3, V4, V100, V10, V9, V8, V7, V6, V5, V2, V10)))) end(E0)); _ -> fun (V101) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end end. 'un--toClosure'(V0, V1, V2, V3) -> {'Idris.Core.Value.MkClosure', [], V1, {'Idris.Core.Value.Nil'}, V2, V3}. 'un--takeFromStack'(V0, V1, V2, V3, V4) -> ('nested--7370-5941--in--un--takeStk'(V0, V1, 'erased', V4, V3, 'erased', V3, V4, {'Idris.Data.Vect.Nil'})). 'un--subRig'(V0, V1) -> ('Idris.Idris2.Prelude.Basics':'un--||'(('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Algebra.Semiring':'un--isLinear'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V2) -> fun (V3) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V2, V3)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V4) -> fun (V5) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V4, V5)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V6) -> fun (V7) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V6, V7)) end end, fun (V8) -> fun (V9) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V8, V9)) end end}}, V0)), fun () -> ('Idris.Idris2.Algebra.Semiring':'un--isRigOther'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V10) -> fun (V11) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V10, V11)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V12) -> fun (V13) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V12, V13)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V14) -> fun (V15) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V14, V15)) end end, fun (V16) -> fun (V17) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V16, V17)) end end}}, V1)) end)), fun () -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V0, V1)) end)). 'un--replace\x{27}'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> begin (V9 = ('dn--un--convert_Convert__NF'(V0, V1, V3, V4, V5, 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) -> case V11 of 0 -> {'Idris.Prelude.Types.Right', V6}; 1 -> (('nested--19307-14390--in--un--repSub'(V1, V7, V6, V5, V4, V3, V2, V0, V7))(V8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--replace'(V0, V1, V2, V3, V4, V5, V6, V7) -> ('un--replace\x{27}'(V0, V1, 0, V2, V3, V4, V5, V6, V7)). 'un--quotePi'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Core.TT.Explicit'} -> (fun () -> fun (V8) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Explicit'}} end end()); {'Idris.Core.TT.Implicit'} -> (fun () -> fun (V9) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Implicit'}} end end()); {'Idris.Core.TT.AutoImplicit'} -> (fun () -> fun (V10) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.AutoImplicit'}} end end()); {'Idris.Core.TT.DefImplicit', E0} -> (fun (V11) -> fun (V12) -> begin (V13 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V11))(V12))), case V13 of {'Idris.Prelude.Types.Left', E1} -> (fun (V14) -> {'Idris.Prelude.Types.Left', V14} end(E1)); {'Idris.Prelude.Types.Right', E2} -> (fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.DefImplicit', V15}} end(E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--quoteHead'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Core.Value.NLocal', E0, E1} -> (fun (V9, V10) -> fun (V11) -> ('case--quoteHead-6964'(V2, 'erased', V10, 'erased', V9, V7, V1, V6, V5, V4, V3, V0, ('nested--11036-6879--in--un--addLater'(V2, 'erased', V10, 'erased', V9, V7, V1, V6, V5, V4, V3, V0, 'erased', 'erased', V10, V1, 'erased')), V11)) end end(E0, E1)); {'Idris.Core.Value.NRef', E2, E3} -> (fun (V12, V13) -> case V12 of {'Idris.Core.TT.Bound'} -> (fun () -> case V13 of {'Idris.Core.Name.MN', E4, E5} -> (fun (V14, V15) -> ('case--quoteHead-7214'(V1, V2, V15, V14, V7, V6, V5, V4, V3, V0, ('nested--11036-7008--in--un--findName'(V1, V2, V15, V14, V7, V6, V5, V4, V3, V0, 'erased', V6)))) end(E4, E5)); _ -> fun (V16) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Ref', V5, V12, V13}} end end end()); _ -> fun (V17) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Ref', V5, V12, V13}} end end end(E2, E3)); {'Idris.Core.Value.NMeta', E6, E7, E8} -> (fun (V18, V19, V20) -> fun (V21) -> begin (V22 = (('un--quoteArgs'(V0, V1, V2, V3, V4, V6, V7, V20))(V21))), case V22 of {'Idris.Prelude.Types.Left', E9} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E9)); {'Idris.Prelude.Types.Right', E10} -> (fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Meta', V5, V18, V19, V24}} end(E10)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E6, E7, E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Core.Value.NBind', E0, E1, E2, E3} -> (fun (V8, V9, V10, V11) -> fun (V12) -> begin (V13 = ('un--genName'(V3, <<"qv"/utf8>>, V12))), case V13 of {'Idris.Prelude.Types.Left', E4} -> (fun (V14) -> {'Idris.Prelude.Types.Left', V14} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V15) -> begin (V19 = begin (V16 = (((V11(V4))(('un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V6, {'Idris.Core.TT.Ref', V8, {'Idris.Core.TT.Bound'}, V15}))))(V12))), case V16 of {'Idris.Prelude.Types.Left', E6} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V18) -> (('un--quoteGenNF'(V0, [V9 | V1], V2, V3, V4, {'Idris.Core.TT.Bounds.Add', V9, V15, V5}, V6, V18))(V12)) end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V19 of {'Idris.Prelude.Types.Left', E8} -> (fun (V20) -> {'Idris.Prelude.Types.Left', V20} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V21) -> begin (V22 = (('un--quoteBinder'(V0, V1, V2, V3, V4, V5, V6, V10))(V12))), case V22 of {'Idris.Prelude.Types.Left', E10} -> (fun (V23) -> {'Idris.Prelude.Types.Left', V23} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V8, V9, V24, V21}} end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3)); {'Idris.Core.Value.NApp', E12, E13, E14} -> (fun (V25, V26, V27) -> fun (V28) -> begin (V29 = (('un--quoteHead'(V0, V1, V2, V3, V4, V25, V5, V6, V26))(V28))), case V29 of {'Idris.Prelude.Types.Left', E15} -> (fun (V30) -> {'Idris.Prelude.Types.Left', V30} end(E15)); {'Idris.Prelude.Types.Right', E16} -> (fun (V31) -> begin (V32 = (('un--quoteArgs'(V0, V1, V2, V3, V4, V5, V6, V27))(V28))), case V32 of {'Idris.Prelude.Types.Left', E17} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E17)); {'Idris.Prelude.Types.Right', E18} -> (fun (V34) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V25, V31, V34))} end(E18)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E16)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E12, E13, E14)); {'Idris.Core.Value.NDCon', E19, E20, E21, E22, E23} -> (fun (V35, V36, V37, V38, V39) -> fun (V40) -> begin (V41 = (('un--quoteArgs'(V0, V1, V2, V3, V4, V5, V6, V39))(V40))), case V41 of {'Idris.Prelude.Types.Left', E24} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E24)); {'Idris.Prelude.Types.Right', E25} -> (fun (V43) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V35, {'Idris.Core.TT.Ref', V35, {'Idris.Core.TT.DataCon', V37, V38}, V36}, V43))} end(E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E19, E20, E21, E22, E23)); {'Idris.Core.Value.NTCon', E26, E27, E28, E29, E30} -> (fun (V44, V45, V46, V47, V48) -> fun (V49) -> begin (V50 = (('un--quoteArgs'(V0, V1, V2, V3, V4, V5, V6, V48))(V49))), case V50 of {'Idris.Prelude.Types.Left', E31} -> (fun (V51) -> {'Idris.Prelude.Types.Left', V51} end(E31)); {'Idris.Prelude.Types.Right', E32} -> (fun (V52) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V44, {'Idris.Core.TT.Ref', V44, {'Idris.Core.TT.TyCon', V46, V47}, V45}, V52))} end(E32)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E26, E27, E28, E29, E30)); {'Idris.Core.Value.NAs', E33, E34, E35, E36} -> (fun (V53, V54, V55, V56) -> fun (V57) -> begin (V58 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V55))(V57))), case V58 of {'Idris.Prelude.Types.Left', E37} -> (fun (V59) -> {'Idris.Prelude.Types.Left', V59} end(E37)); {'Idris.Prelude.Types.Right', E38} -> (fun (V60) -> begin (V61 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V56))(V57))), case V61 of {'Idris.Prelude.Types.Left', E39} -> (fun (V62) -> {'Idris.Prelude.Types.Left', V62} end(E39)); {'Idris.Prelude.Types.Right', E40} -> (fun (V63) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.As', V53, V54, V60, V63}} end(E40)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E38)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E33, E34, E35, E36)); {'Idris.Core.Value.NDelayed', E41, E42, E43} -> (fun (V64, V65, V66) -> fun (V67) -> begin (V68 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V66))(V67))), case V68 of {'Idris.Prelude.Types.Left', E44} -> (fun (V69) -> {'Idris.Prelude.Types.Left', V69} end(E44)); {'Idris.Prelude.Types.Right', E45} -> (fun (V70) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.TDelayed', V64, V65, V70}} end(E45)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E41, E42, E43)); {'Idris.Core.Value.NDelay', E46, E47, E48, E49} -> (fun (V71, V72, V73, V74) -> fun (V75) -> begin (V76 = (('un--evalClosure'(V0, V2, V4, ('nested--11054-7663--in--un--toHolesOnly'(V1, V2, V74, V73, V72, V71, V6, V5, V4, V3, V0, 'erased', V74))))(V75))), case V76 of {'Idris.Prelude.Types.Left', E50} -> (fun (V77) -> {'Idris.Prelude.Types.Left', V77} end(E50)); {'Idris.Prelude.Types.Right', E51} -> (fun (V78) -> begin (V79 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V78))(V75))), case V79 of {'Idris.Prelude.Types.Left', E52} -> (fun (V80) -> {'Idris.Prelude.Types.Left', V80} end(E52)); {'Idris.Prelude.Types.Right', E53} -> (fun (V81) -> begin (V82 = (('un--evalClosure'(V0, V2, V4, ('nested--11054-7663--in--un--toHolesOnly'(V1, V2, V74, V73, V72, V71, V6, V5, V4, V3, V0, 'erased', V73))))(V75))), case V82 of {'Idris.Prelude.Types.Left', E54} -> (fun (V83) -> {'Idris.Prelude.Types.Left', V83} end(E54)); {'Idris.Prelude.Types.Right', E55} -> (fun (V84) -> begin (V85 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V84))(V75))), case V85 of {'Idris.Prelude.Types.Left', E56} -> (fun (V86) -> {'Idris.Prelude.Types.Left', V86} end(E56)); {'Idris.Prelude.Types.Right', E57} -> (fun (V87) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.TDelay', V71, V72, V87, V81}} end(E57)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E55)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E51)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E46, E47, E48, E49)); {'Idris.Core.Value.NForce', E58, E59, E60, E61} -> (fun (V88, V89, V90, V91) -> fun (V92) -> begin (V93 = (('un--quoteArgs'(V0, V1, V2, V3, V4, V5, V6, V91))(V92))), case V93 of {'Idris.Prelude.Types.Left', E62} -> (fun (V94) -> {'Idris.Prelude.Types.Left', V94} end(E62)); {'Idris.Prelude.Types.Right', E63} -> (fun (V95) -> case V90 of {'Idris.Core.Value.NDelay', E66, E67, E68, E69} -> (fun (V96, V97, V98, V99) -> begin (V100 = (('un--evalClosure'(V0, V2, V4, V99))(V92))), case V100 of {'Idris.Prelude.Types.Left', E70} -> (fun (V101) -> {'Idris.Prelude.Types.Left', V101} end(E70)); {'Idris.Prelude.Types.Right', E71} -> (fun (V102) -> begin (V103 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V102))(V92))), case V103 of {'Idris.Prelude.Types.Left', E72} -> (fun (V104) -> {'Idris.Prelude.Types.Left', V104} end(E72)); {'Idris.Prelude.Types.Right', E73} -> (fun (V105) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V96, V105, V95))} end(E73)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E71)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E66, E67, E68, E69)); _ -> begin (V106 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V90))(V92))), case V106 of {'Idris.Prelude.Types.Left', E64} -> (fun (V107) -> {'Idris.Prelude.Types.Left', V107} end(E64)); {'Idris.Prelude.Types.Right', E65} -> (fun (V108) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.TT':'un--apply'('erased', V88, {'Idris.Core.TT.TForce', V88, V89, V108}, V95))} end(E65)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E63)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E58, E59, E60, E61)); {'Idris.Core.Value.NPrimVal', E74, E75} -> (fun (V109, V110) -> fun (V111) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.PrimVal', V109, V110}} end end(E74, E75)); {'Idris.Core.Value.NErased', E76, E77} -> (fun (V112, V113) -> fun (V114) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Erased', V112, V113}} end end(E76, E77)); {'Idris.Core.Value.NType', E78} -> (fun (V115) -> fun (V116) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.TType', V115}} end end(E78)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--quoteGen'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.Normalise.dn--un--__mkQuote', E0, E1} -> (fun (V4, V5) -> fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> ((((((V5(V1))(V2))(V6))(V7))(V8))(V9)) end end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--quoteBinder'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of {'Idris.Core.TT.Lam', E0, E1, E2, E3} -> (fun (V8, V9, V10, V11) -> fun (V12) -> begin (V13 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V11))(V12))), case V13 of {'Idris.Prelude.Types.Left', E4} -> (fun (V14) -> {'Idris.Prelude.Types.Left', V14} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V15) -> begin (V16 = (('un--quotePi'(V0, V1, V2, V3, V4, V5, V6, V10))(V12))), case V16 of {'Idris.Prelude.Types.Left', E6} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V18) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Lam', V8, V9, V18, V15}} end(E7)); _ -> ('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.Let', E8, E9, E10, E11} -> (fun (V19, V20, V21, V22) -> fun (V23) -> begin (V24 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V21))(V23))), case V24 of {'Idris.Prelude.Types.Left', E12} -> (fun (V25) -> {'Idris.Prelude.Types.Left', V25} end(E12)); {'Idris.Prelude.Types.Right', E13} -> (fun (V26) -> begin (V27 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V22))(V23))), case V27 of {'Idris.Prelude.Types.Left', E14} -> (fun (V28) -> {'Idris.Prelude.Types.Left', V28} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V29) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Let', V19, V20, V26, V29}} end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E13)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E8, E9, E10, E11)); {'Idris.Core.TT.Pi', E16, E17, E18, E19} -> (fun (V30, V31, V32, V33) -> fun (V34) -> begin (V35 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V33))(V34))), 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 = (('un--quotePi'(V0, V1, V2, V3, V4, V5, V6, V32))(V34))), case V38 of {'Idris.Prelude.Types.Left', E22} -> (fun (V39) -> {'Idris.Prelude.Types.Left', V39} end(E22)); {'Idris.Prelude.Types.Right', E23} -> (fun (V40) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Pi', V30, V31, V40, V37}} end(E23)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E16, E17, E18, E19)); {'Idris.Core.TT.PVar', E24, E25, E26, E27} -> (fun (V41, V42, V43, V44) -> fun (V45) -> begin (V46 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V44))(V45))), case V46 of {'Idris.Prelude.Types.Left', E28} -> (fun (V47) -> {'Idris.Prelude.Types.Left', V47} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V48) -> begin (V49 = (('un--quotePi'(V0, V1, V2, V3, V4, V5, V6, V43))(V45))), case V49 of {'Idris.Prelude.Types.Left', E30} -> (fun (V50) -> {'Idris.Prelude.Types.Left', V50} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V51) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.PVar', V41, V42, V51, V48}} end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E24, E25, E26, E27)); {'Idris.Core.TT.PLet', E32, E33, E34, E35} -> (fun (V52, V53, V54, V55) -> fun (V56) -> begin (V57 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V54))(V56))), case V57 of {'Idris.Prelude.Types.Left', E36} -> (fun (V58) -> {'Idris.Prelude.Types.Left', V58} end(E36)); {'Idris.Prelude.Types.Right', E37} -> (fun (V59) -> begin (V60 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V55))(V56))), case V60 of {'Idris.Prelude.Types.Left', E38} -> (fun (V61) -> {'Idris.Prelude.Types.Left', V61} end(E38)); {'Idris.Prelude.Types.Right', E39} -> (fun (V62) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.PLet', V52, V53, V59, V62}} end(E39)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E37)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E32, E33, E34, E35)); {'Idris.Core.TT.PVTy', E40, E41, E42} -> (fun (V63, V64, V65) -> fun (V66) -> begin (V67 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V65))(V66))), case V67 of {'Idris.Prelude.Types.Left', E43} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E43)); {'Idris.Prelude.Types.Right', E44} -> (fun (V69) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.PVTy', V63, V64, V69}} end(E44)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E40, E41, E42)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--quoteArgs'(V0, V1, V2, V3, V4, V5, V6, V7) -> case V7 of [] -> fun (V8) -> {'Idris.Prelude.Types.Right', []} end; [E0 | E1] -> (fun (V9, V10) -> fun (V11) -> begin (V12 = (('un--evalClosure'(V0, V2, V4, 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) -> begin (V15 = (('un--quoteGenNF'(V0, V1, V2, V3, V4, V5, V6, V14))(V11))), 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 = (('un--quoteArgs'(V0, V1, V2, V3, V4, V5, V6, V10))(V11))), 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(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--quote'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.Normalise.dn--un--__mkQuote', E0, E1} -> (fun (V4, V5) -> fun (V6) -> fun (V7) -> fun (V8) -> (((((V4(V1))(V2))(V6))(V7))(V8)) end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--normaliseScope'(V0, V1, V2, V3, V4) -> case V4 of {'Idris.Core.TT.Bind', E0, E1, E2, E3} -> (fun (V5, V6, V7, V8) -> fun (V9) -> begin (V10 = (('un--normaliseScope'(V0, [V6 | V1], V2, {'Idris.Core.Env.::', V7, V3}, V8))(V9))), case V10 of {'Idris.Prelude.Types.Left', E4} -> (fun (V11) -> {'Idris.Prelude.Types.Left', V11} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V12) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V5, V6, V7, V12}} end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3)); _ -> fun (V13) -> ('un--normalise'(V0, V1, V2, V3, V4, V13)) end end. 'un--normaliseOpts'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = (('un--nfOpts'(V0, V1, V2, V3, V4, V5))(V6))), case V7 of {'Idris.Prelude.Types.Left', E0} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V9) -> ('dn--un--quote_Quote__NF'(V0, V1, V3, V4, V9, V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--normaliseLHS'(V0, V1, V2, V3, V4) -> case V4 of {'Idris.Core.TT.Bind', E2, E3, E4, E5} -> (fun (V5, V6, V7, V8) -> fun (V9) -> begin (V10 = (('un--normaliseLHS'(V0, [V6 | V1], V2, {'Idris.Core.Env.::', V7, V3}, V8))(V9))), case V10 of {'Idris.Prelude.Types.Left', E6} -> (fun (V11) -> {'Idris.Prelude.Types.Left', V11} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V12) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Bind', V5, V6, V7, V12}} end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3, E4, E5)); _ -> fun (V13) -> begin (V14 = (('un--nfOpts'(V0, V1, ('Idris.Idris2.Core.Value':'un--onLHS'()), V2, V3, V4))(V13))), case V14 of {'Idris.Prelude.Types.Left', E0} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V16) -> ('dn--un--quote_Quote__NF'(V0, V1, V2, V3, V16, V13)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end. 'un--normaliseHoles'(V0, V1, V2, V3, V4, V5) -> begin (V6 = (('un--nfOpts'(V0, V1, ('Idris.Idris2.Core.Value':'un--withHoles'()), V2, V3, V4))(V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> ('dn--un--quote_Quote__NF'(V0, V1, V2, V3, V8, V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--normaliseErr'(V0, V1) -> case V1 of {'Idris.Core.Core.CantConvert', E0, E1, E2, E3, E4} -> (fun (V2, V3, V4, V5, V6) -> fun (V7) -> begin (V36 = begin (V35 = (('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 (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> fun (V12) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V10, V11, V12)) end end end end end, fun (V13) -> fun (V14) -> fun (V15) -> V14 end end end, fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> fun (V20) -> begin (V21 = (V18(V20))), begin (V22 = (V19(V20))), (V21(V22)) end end end end end end end}, fun (V23) -> fun (V24) -> fun (V25) -> fun (V26) -> fun (V27) -> begin (V28 = (V25(V27))), ((V26(V28))(V27)) end end end end end end, fun (V29) -> fun (V30) -> fun (V31) -> begin (V32 = (V30(V31))), (V32(V31)) end end end end}, fun (V33) -> fun (V34) -> V34 end end}, V0))(V7))), {'Idris.Prelude.Types.Right', V35} end), case V36 of {'Idris.Prelude.Types.Left', E5} -> (fun (V37) -> {'Idris.Prelude.Types.Left', V37} end(E5)); {'Idris.Prelude.Types.Right', E6} -> (fun (V38) -> begin (V39 = ('un--normaliseHoles'(V0, V2, V38, V4, V5, V7))), case V39 of {'Idris.Prelude.Types.Left', E7} -> (fun (V40) -> {'Idris.Prelude.Types.Left', V40} end(E7)); {'Idris.Prelude.Types.Right', E8} -> (fun (V41) -> begin (V42 = ('un--normaliseHoles'(V0, V2, V38, V4, V6, V7))), case V42 of {'Idris.Prelude.Types.Left', E9} -> (fun (V43) -> {'Idris.Prelude.Types.Left', V43} end(E9)); {'Idris.Prelude.Types.Right', E10} -> (fun (V44) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.CantConvert', V2, V3, V4, V41, V44}} end(E10)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3, E4)); {'Idris.Core.Core.CantSolveEq', E11, E12, E13, E14, E15} -> (fun (V45, V46, V47, V48, V49) -> fun (V50) -> begin (V79 = begin (V78 = (('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 (V51) -> fun (V52) -> fun (V53) -> fun (V54) -> fun (V55) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V53, V54, V55)) end end end end end, fun (V56) -> fun (V57) -> fun (V58) -> V57 end end end, fun (V59) -> fun (V60) -> fun (V61) -> fun (V62) -> fun (V63) -> begin (V64 = (V61(V63))), begin (V65 = (V62(V63))), (V64(V65)) end end end end end end end}, fun (V66) -> fun (V67) -> fun (V68) -> fun (V69) -> fun (V70) -> begin (V71 = (V68(V70))), ((V69(V71))(V70)) end end end end end end, fun (V72) -> fun (V73) -> fun (V74) -> begin (V75 = (V73(V74))), (V75(V74)) end end end end}, fun (V76) -> fun (V77) -> V77 end end}, V0))(V50))), {'Idris.Prelude.Types.Right', V78} end), case V79 of {'Idris.Prelude.Types.Left', E16} -> (fun (V80) -> {'Idris.Prelude.Types.Left', V80} end(E16)); {'Idris.Prelude.Types.Right', E17} -> (fun (V81) -> begin (V82 = ('un--normaliseHoles'(V0, V45, V81, V47, V48, V50))), case V82 of {'Idris.Prelude.Types.Left', E18} -> (fun (V83) -> {'Idris.Prelude.Types.Left', V83} end(E18)); {'Idris.Prelude.Types.Right', E19} -> (fun (V84) -> begin (V85 = ('un--normaliseHoles'(V0, V45, V81, V47, V49, V50))), case V85 of {'Idris.Prelude.Types.Left', E20} -> (fun (V86) -> {'Idris.Prelude.Types.Left', V86} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V87) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.CantSolveEq', V45, V46, V47, V84, V87}} end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E11, E12, E13, E14, E15)); {'Idris.Core.Core.WhenUnifying', E22, E23, E24, E25, E26, E27} -> (fun (V88, V89, V90, V91, V92, V93) -> fun (V94) -> begin (V123 = begin (V122 = (('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 (V95) -> fun (V96) -> fun (V97) -> fun (V98) -> fun (V99) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V97, V98, V99)) end end end end end, fun (V100) -> fun (V101) -> fun (V102) -> V101 end end end, fun (V103) -> fun (V104) -> fun (V105) -> fun (V106) -> fun (V107) -> begin (V108 = (V105(V107))), begin (V109 = (V106(V107))), (V108(V109)) end end end end end end end}, fun (V110) -> fun (V111) -> fun (V112) -> fun (V113) -> fun (V114) -> begin (V115 = (V112(V114))), ((V113(V115))(V114)) end end end end end end, fun (V116) -> fun (V117) -> fun (V118) -> begin (V119 = (V117(V118))), (V119(V118)) end end end end}, fun (V120) -> fun (V121) -> V121 end end}, V0))(V94))), {'Idris.Prelude.Types.Right', V122} end), case V123 of {'Idris.Prelude.Types.Left', E28} -> (fun (V124) -> {'Idris.Prelude.Types.Left', V124} end(E28)); {'Idris.Prelude.Types.Right', E29} -> (fun (V125) -> begin (V126 = ('un--normaliseHoles'(V0, V88, V125, V90, V91, V94))), case V126 of {'Idris.Prelude.Types.Left', E30} -> (fun (V127) -> {'Idris.Prelude.Types.Left', V127} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V128) -> begin (V129 = ('un--normaliseHoles'(V0, V88, V125, V90, V92, V94))), case V129 of {'Idris.Prelude.Types.Left', E32} -> (fun (V130) -> {'Idris.Prelude.Types.Left', V130} end(E32)); {'Idris.Prelude.Types.Right', E33} -> (fun (V131) -> begin (V132 = (('un--normaliseErr'(V0, V93))(V94))), case V132 of {'Idris.Prelude.Types.Left', E34} -> (fun (V133) -> {'Idris.Prelude.Types.Left', V133} end(E34)); {'Idris.Prelude.Types.Right', E35} -> (fun (V134) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.WhenUnifying', V88, V89, V90, V128, V131, V134}} end(E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E33)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E22, E23, E24, E25, E26, E27)); {'Idris.Core.Core.CantSolveGoal', E36, E37, E38, E39} -> (fun (V135, V136, V137, V138) -> fun (V139) -> begin (V168 = begin (V167 = (('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 (V140) -> fun (V141) -> fun (V142) -> fun (V143) -> fun (V144) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V142, V143, V144)) end end end end end, fun (V145) -> fun (V146) -> fun (V147) -> V146 end end end, fun (V148) -> fun (V149) -> fun (V150) -> fun (V151) -> fun (V152) -> begin (V153 = (V150(V152))), begin (V154 = (V151(V152))), (V153(V154)) end end end end end end end}, fun (V155) -> fun (V156) -> fun (V157) -> fun (V158) -> fun (V159) -> begin (V160 = (V157(V159))), ((V158(V160))(V159)) end end end end end end, fun (V161) -> fun (V162) -> fun (V163) -> begin (V164 = (V162(V163))), (V164(V163)) end end end end}, fun (V165) -> fun (V166) -> V166 end end}, V0))(V139))), {'Idris.Prelude.Types.Right', V167} end), case V168 of {'Idris.Prelude.Types.Left', E40} -> (fun (V169) -> {'Idris.Prelude.Types.Left', V169} end(E40)); {'Idris.Prelude.Types.Right', E41} -> (fun (V170) -> begin (V171 = ('un--normaliseHoles'(V0, V135, V170, V137, V138, V139))), case V171 of {'Idris.Prelude.Types.Left', E42} -> (fun (V172) -> {'Idris.Prelude.Types.Left', V172} end(E42)); {'Idris.Prelude.Types.Right', E43} -> (fun (V173) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.CantSolveGoal', V135, V136, V137, V173}} end(E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E41)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E36, E37, E38, E39)); {'Idris.Core.Core.AllFailed', E44} -> (fun (V174) -> fun (V175) -> begin (V181 = (('Idris.Idris2.Core.Core':'un--traverse'('erased', 'erased', fun (V176) -> fun (V177) -> begin (V178 = (('un--normaliseErr'(V0, ('Idris.Idris2.Builtin':'un--snd'('erased', 'erased', V176))))(V177))), case V178 of {'Idris.Prelude.Types.Left', E45} -> (fun (V179) -> {'Idris.Prelude.Types.Left', V179} end(E45)); {'Idris.Prelude.Types.Right', E46} -> (fun (V180) -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkPair', ('Idris.Idris2.Builtin':'un--fst'('erased', 'erased', V176)), V180}} end(E46)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end, V174))(V175))), case V181 of {'Idris.Prelude.Types.Left', E47} -> (fun (V182) -> {'Idris.Prelude.Types.Left', V182} end(E47)); {'Idris.Prelude.Types.Right', E48} -> (fun (V183) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.AllFailed', V183}} end(E48)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E44)); {'Idris.Core.Core.InType', E49, E50, E51} -> (fun (V184, V185, V186) -> fun (V187) -> begin (V188 = (('un--normaliseErr'(V0, V186))(V187))), case V188 of {'Idris.Prelude.Types.Left', E52} -> (fun (V189) -> {'Idris.Prelude.Types.Left', V189} end(E52)); {'Idris.Prelude.Types.Right', E53} -> (fun (V190) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.InType', V184, V185, V190}} end(E53)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E49, E50, E51)); {'Idris.Core.Core.InCon', E54, E55, E56} -> (fun (V191, V192, V193) -> fun (V194) -> begin (V195 = (('un--normaliseErr'(V0, V193))(V194))), case V195 of {'Idris.Prelude.Types.Left', E57} -> (fun (V196) -> {'Idris.Prelude.Types.Left', V196} end(E57)); {'Idris.Prelude.Types.Right', E58} -> (fun (V197) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.InCon', V191, V192, V197}} end(E58)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E54, E55, E56)); {'Idris.Core.Core.InLHS', E59, E60, E61} -> (fun (V198, V199, V200) -> fun (V201) -> begin (V202 = (('un--normaliseErr'(V0, V200))(V201))), case V202 of {'Idris.Prelude.Types.Left', E62} -> (fun (V203) -> {'Idris.Prelude.Types.Left', V203} end(E62)); {'Idris.Prelude.Types.Right', E63} -> (fun (V204) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.InLHS', V198, V199, V204}} end(E63)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E59, E60, E61)); {'Idris.Core.Core.InRHS', E64, E65, E66} -> (fun (V205, V206, V207) -> fun (V208) -> begin (V209 = (('un--normaliseErr'(V0, V207))(V208))), case V209 of {'Idris.Prelude.Types.Left', E67} -> (fun (V210) -> {'Idris.Prelude.Types.Left', V210} end(E67)); {'Idris.Prelude.Types.Right', E68} -> (fun (V211) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Core.InRHS', V205, V206, V211}} end(E68)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E64, E65, E66)); _ -> fun (V212) -> {'Idris.Prelude.Types.Right', V1} end end. 'un--normaliseArgHoles'(V0, V1, V2, V3, V4, V5) -> begin (V6 = (('un--nfOpts'(V0, V1, ('Idris.Idris2.Core.Value':'un--withArgHoles'()), V2, V3, V4))(V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> ('dn--un--quote_Quote__NF'(V0, V1, V2, V3, V8, V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--normaliseAll'(V0, V1, V2, V3, V4, V5) -> begin (V6 = (('un--nfOpts'(V0, V1, ('Idris.Idris2.Core.Value':'un--withAll'()), V2, V3, V4))(V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> ('dn--un--quote_Quote__NF'(V0, V1, V2, V3, V8, V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--normalise'(V0, V1, V2, V3, V4, V5) -> begin (V6 = (('un--nf'(V0, V1, V2, V3, V4))(V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> ('dn--un--quote_Quote__NF'(V0, V1, V2, V3, V8, V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--nfOpts'(V0, V1, V2, V3, V4, V5) -> ('un--eval'(V3, V2, V0, V1, [], V4, {'Idris.Core.Value.Nil'}, V5, [])). 'un--nf'(V0, V1, V2, V3, V4) -> ('un--eval'(V2, ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V0, V1, [], V3, {'Idris.Core.Value.Nil'}, V4, [])). 'un--logTermNF\x{27}'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = ('Idris.Idris2.Core.Context':'un--getSession'(V1, V6))), case V7 of {'Idris.Prelude.Types.Left', E0} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V9) -> (('case--logTermNF\x{27}-13925'(V0, V5, V4, V3, V2, V1, V9, ('Idris.Idris2.Core.Options.Log':'un--keepLog'(V2, case V9 of {'Idris.Core.Options.MkSessionOpts', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15} -> (fun (V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> V17 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--logTermNF'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = (('Idris.Idris2.Core.Options.Log':'un--mkLogLevel'(V2))(V3))), fun (V8) -> ('un--logTermNF\x{27}'(V0, V1, V7, V4, V5, V6, V8)) end end. 'un--logNF'(V0, V1, V2, V3, V4, V5, V6, V7) -> begin (V8 = ('Idris.Idris2.Core.Context':'un--getSession'(V1, V7))), 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 = (('Idris.Idris2.Core.Options.Log':'un--mkLogLevel'(V2))(V3))), (('case--logNF-13820'(V0, V6, V5, V4, V3, V2, V1, V10, V11, ('Idris.Idris2.Core.Options.Log':'un--keepLog'(V11, case V10 of {'Idris.Core.Options.MkSessionOpts', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15} -> (fun (V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25) -> V19 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V7)) end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--logGlueNF'(V0, V1, V2, V3, V4, V5, V6, V7) -> begin (V8 = ('Idris.Idris2.Core.Context':'un--getSession'(V1, V7))), 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 = (('Idris.Idris2.Core.Options.Log':'un--mkLogLevel'(V2))(V3))), (('case--logGlueNF-14137'(V0, V6, V5, V4, V3, V2, V1, V10, V11, ('Idris.Idris2.Core.Options.Log':'un--keepLog'(V11, case V10 of {'Idris.Core.Options.MkSessionOpts', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15} -> (fun (V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25) -> V19 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V7)) end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--logGlue'(V0, V1, V2, V3, V4, V5, V6, V7) -> begin (V8 = ('Idris.Idris2.Core.Context':'un--getSession'(V1, V7))), 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 = (('Idris.Idris2.Core.Options.Log':'un--mkLogLevel'(V2))(V3))), (('case--logGlue-14034'(V0, V6, V5, V4, V3, V2, V1, V10, V11, ('Idris.Idris2.Core.Options.Log':'un--keepLog'(V11, case V10 of {'Idris.Core.Options.MkSessionOpts', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15} -> (fun (V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25) -> V19 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V7)) end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--logEnv'(V0, V1, V2, V3, V4, V5, V6) -> begin (V7 = ('Idris.Idris2.Core.Context':'un--getSession'(V1, V6))), case V7 of {'Idris.Prelude.Types.Left', E0} -> (fun (V8) -> {'Idris.Prelude.Types.Left', V8} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V9) -> (('case--logEnv-14349'(V0, V5, V4, V3, V2, V1, V9, ('Idris.Idris2.Core.Options.Log':'un--keepLog'(('nested--19144-14238--in--un--lvl'(V0, V5, V4, V3, V2, V1)), case V9 of {'Idris.Core.Options.MkSessionOpts', E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15} -> (fun (V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23) -> V17 end(E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))))(V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--isFromTerm'(V0, V1) -> case V1 of {'Idris.Core.Normalise.MkGlue', E0, E1, E2} -> (fun (V2, V3, V4) -> V2 end(E0, E1, E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--gnfOpts'(V0, V1, V2, V3) -> {'Idris.Core.Normalise.MkGlue', 0, fun (V4) -> {'Idris.Prelude.Types.Right', V3} end, fun (V5) -> fun (V6) -> begin (V35 = begin (V34 = (('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 (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> fun (V11) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V9, V10, V11)) end end end end end, fun (V12) -> fun (V13) -> fun (V14) -> V13 end end end, fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> fun (V19) -> begin (V20 = (V17(V19))), begin (V21 = (V18(V19))), (V20(V21)) end end end end end end end}, fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> fun (V26) -> begin (V27 = (V24(V26))), ((V25(V27))(V26)) end end end end end end, fun (V28) -> fun (V29) -> fun (V30) -> begin (V31 = (V29(V30))), (V31(V30)) end end end end}, fun (V32) -> fun (V33) -> V33 end end}, V5))(V6))), {'Idris.Prelude.Types.Right', V34} end), case V35 of {'Idris.Prelude.Types.Left', E0} -> (fun (V36) -> {'Idris.Prelude.Types.Left', V36} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V37) -> (('un--nfOpts'(V5, V0, V1, V37, V2, V3))(V6)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end}. 'un--gnf'(V0, V1, V2) -> {'Idris.Core.Normalise.MkGlue', 0, fun (V3) -> {'Idris.Prelude.Types.Right', V2} end, fun (V4) -> fun (V5) -> begin (V34 = begin (V33 = (('Idris.Idris2.Erlang.Data.IORef':'un--readIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V8, V9, V10)) end end end end end, fun (V11) -> fun (V12) -> fun (V13) -> V12 end end end, fun (V14) -> fun (V15) -> fun (V16) -> fun (V17) -> fun (V18) -> begin (V19 = (V16(V18))), begin (V20 = (V17(V18))), (V19(V20)) end end end end end end end}, fun (V21) -> fun (V22) -> fun (V23) -> fun (V24) -> fun (V25) -> begin (V26 = (V23(V25))), ((V24(V26))(V25)) end end end end end end, fun (V27) -> fun (V28) -> fun (V29) -> begin (V30 = (V28(V29))), (V30(V29)) end end end end}, fun (V31) -> fun (V32) -> V32 end end}, V4))(V5))), {'Idris.Prelude.Types.Right', V33} end), case V34 of {'Idris.Prelude.Types.Left', E0} -> (fun (V35) -> {'Idris.Prelude.Types.Left', V35} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V36) -> (('un--nf'(V4, V0, V36, V1, V2))(V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end}. 'un--glueBack'(V0, V1, V2, V3, V4) -> {'Idris.Core.Normalise.MkGlue', 1, fun (V5) -> begin (V6 = ('Idris.Idris2.Core.Context':'un--clearDefs'(V2, V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> ('dn--un--quote_Quote__NF'(V0, V1, V8, V3, V4, V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end, fun (V9) -> fun (V10) -> {'Idris.Prelude.Types.Right', V4} end end}. 'un--getValArity'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.Value.NBind', E0, E1, E2, E3} -> (fun (V4, V5, V6, V7) -> case V6 of {'Idris.Core.TT.Pi', E4, E5, E6, E7} -> (fun (V8, V9, V10, V11) -> fun (V12) -> begin (V13 = (((V7(V1))(('un--toClosure'('erased', ('Idris.Idris2.Core.Value':'un--defaultOpts'()), V2, {'Idris.Core.TT.Erased', V4, 1}))))(V12))), case V13 of {'Idris.Prelude.Types.Left', E8} -> (fun (V14) -> {'Idris.Prelude.Types.Left', V14} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V15) -> begin (V16 = (('un--getValArity'('erased', V1, V2, V15))(V12))), case V16 of {'Idris.Prelude.Types.Left', E10} -> (fun (V17) -> {'Idris.Prelude.Types.Left', V17} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V18) -> {'Idris.Prelude.Types.Right', (1 + V18)} end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E4, E5, E6, E7)); _ -> fun (V19) -> {'Idris.Prelude.Types.Right', 0} end end end(E0, E1, E2, E3)); _ -> fun (V20) -> {'Idris.Prelude.Types.Right', 0} end end. 'un--getTerm'(V0, V1) -> case V1 of {'Idris.Core.Normalise.MkGlue', E0, E1, E2} -> (fun (V2, V3, V4) -> V3 end(E0, E1, E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--getNF'(V0, V1, V2) -> case V2 of {'Idris.Core.Normalise.MkGlue', E0, E1, E2} -> (fun (V3, V4, V5) -> (V5(V1)) end(E0, E1, E2)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--getMatchingVars'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of {'Idris.Core.CaseTree.Case', E0, E1, E2, E3} -> (fun (V7, V8, V9, V10) -> case V6 of {'Idris.Core.CaseTree.Case', E4, E5, E6, E7} -> (fun (V11, V12, V13, V14) -> ('un--getMatchingVarAlts'(V0, V1, V2, V3, [{'Idris.Builtin.MkPair', V8, V12} | V4], V10, V14)) end(E4, E5, E6, E7)); _ -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end(E0, E1, E2, E3)); {'Idris.Core.CaseTree.STerm', E8, E9} -> (fun (V16, V17) -> case V6 of {'Idris.Core.CaseTree.STerm', E10, E11} -> (fun (V18, V19) -> ('case--getMatchingVars-10050'(V1, V2, V17, V16, V19, V18, V4, V3, V0, ('un--tryUpdate'(V1, V2, V4, V17)))) end(E10, E11)); _ -> fun (V20) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end(E8, E9)); {'Idris.Core.CaseTree.Unmatched', E12} -> (fun (V21) -> case V6 of {'Idris.Core.CaseTree.Unmatched', E13} -> (fun (V22) -> fun (V23) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V4}} end end(E13)); _ -> fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end(E12)); {'Idris.Core.CaseTree.Impossible'} -> (fun () -> case V6 of {'Idris.Core.CaseTree.Impossible'} -> (fun () -> fun (V25) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V4}} end end()); _ -> fun (V26) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end()); _ -> fun (V27) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end. 'un--getMatchingVarAlts'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of [] -> case V6 of [] -> fun (V7) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Just', V4}} end; _ -> fun (V8) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end; [E0 | E1] -> (fun (V9, V10) -> case V6 of [E2 | E3] -> (fun (V11, V12) -> fun (V13) -> begin (V14 = (('un--getMatchingVarAlt'(V0, V1, V2, V3, V4, V9, V11))(V13))), case V14 of {'Idris.Prelude.Types.Left', E4} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V16) -> case V16 of {'Idris.Prelude.Types.Just', E6} -> (fun (V17) -> (('un--getMatchingVarAlts'(V0, V1, V2, V3, V17, V10, V12))(V13)) end(E6)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> fun (V18) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end(E0, E1)); _ -> fun (V19) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end. 'un--getMatchingVarAlt'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of {'Idris.Core.CaseTree.ConCase', E0, E1, E2, E3} -> (fun (V7, V8, V9, V10) -> case V6 of {'Idris.Core.CaseTree.ConCase', E4, E5, E6, E7} -> (fun (V11, V12, V13, V14) -> ('case--getMatchingVarAlt-9621'(V1, V2, V9, V10, V8, V7, V13, V14, V12, V11, V4, V3, V0, ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V7, V11)))) end(E4, E5, E6, E7)); _ -> fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end(E0, E1, E2, E3)); {'Idris.Core.CaseTree.ConstCase', E8, E9} -> (fun (V16, V17) -> case V6 of {'Idris.Core.CaseTree.ConstCase', E10, E11} -> (fun (V18, V19) -> ('case--getMatchingVarAlt-9840'(V0, V1, V2, V17, V16, V19, V18, V4, V3, ('Idris.Idris2.Core.TT':'dn--un--==_Eq__Constant'(V16, V18)))) end(E10, E11)); _ -> fun (V20) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end(E8, E9)); {'Idris.Core.CaseTree.DefaultCase', E12} -> (fun (V21) -> case V6 of {'Idris.Core.CaseTree.DefaultCase', E13} -> (fun (V22) -> ('un--getMatchingVars'(V0, V1, V2, V3, V4, V21, V22)) end(E13)); _ -> fun (V23) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end end(E12)); _ -> fun (V24) -> {'Idris.Prelude.Types.Right', {'Idris.Prelude.Types.Nothing'}} end end. 'un--getCaseBound'(V0, V1, V2, V3, V4, V5, V6) -> case V4 of [] -> case V5 of [] -> {'Idris.Prelude.Types.Just', V6}; [E0 | E1] -> (fun (V7, V8) -> {'Idris.Prelude.Types.Nothing'} end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; [E2 | E3] -> (fun (V9, V10) -> case V5 of [] -> {'Idris.Prelude.Types.Nothing'}; [E4 | E5] -> (fun (V11, V12) -> ('Idris.Idris2.Prelude.Interfaces':'un--<$>'('erased', 'erased', 'erased', fun (V13) -> fun (V14) -> fun (V15) -> fun (V16) -> ('Idris.Idris2.Prelude.Types':'dn--un--map_Functor__Maybe'('erased', 'erased', V15, V16)) end end end end, fun (V17) -> {'Idris.Core.Value.::', V9, V17} end, ('un--getCaseBound'(V0, V1, 'erased', 'erased', V10, V12, V6)))) end(E4, E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--getArity'(V0, V1, V2, V3, V4, V5) -> begin (V6 = (('un--nf'(V0, V1, V2, V3, V4))(V5))), case V6 of {'Idris.Prelude.Types.Left', E0} -> (fun (V7) -> {'Idris.Prelude.Types.Left', V7} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V8) -> (('un--getValArity'('erased', V2, V3, V8))(V5)) end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--genName'(V0, V1, V2) -> begin (V31 = begin (V30 = (('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 (V3) -> fun (V4) -> fun (V5) -> fun (V6) -> fun (V7) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V5, V6, V7)) end end end end end, fun (V8) -> fun (V9) -> fun (V10) -> V9 end end end, fun (V11) -> fun (V12) -> fun (V13) -> fun (V14) -> fun (V15) -> begin (V16 = (V13(V15))), begin (V17 = (V14(V15))), (V16(V17)) end end end end end end end}, fun (V18) -> fun (V19) -> fun (V20) -> fun (V21) -> fun (V22) -> begin (V23 = (V20(V22))), ((V21(V23))(V22)) end end end end end end, fun (V24) -> fun (V25) -> fun (V26) -> begin (V27 = (V25(V26))), (V27(V26)) end end end end}, fun (V28) -> fun (V29) -> V29 end end}, V0))(V2))), {'Idris.Prelude.Types.Right', V30} end), case V31 of {'Idris.Prelude.Types.Left', E0} -> (fun (V32) -> {'Idris.Prelude.Types.Left', V32} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V33) -> begin (V62 = begin (V61 = (('Idris.Idris2.Erlang.Data.IORef':'un--writeIORef'('erased', 'erased', {'Idris.Prelude.IO.dn--un--__mkHasIO', {'Idris.Prelude.Interfaces.dn--un--__mkMonad', {'Idris.Prelude.Interfaces.dn--un--__mkApplicative', fun (V34) -> fun (V35) -> fun (V36) -> fun (V37) -> fun (V38) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V36, V37, V38)) end end end end end, fun (V39) -> fun (V40) -> fun (V41) -> V40 end end end, fun (V42) -> fun (V43) -> fun (V44) -> fun (V45) -> fun (V46) -> begin (V47 = (V44(V46))), begin (V48 = (V45(V46))), (V47(V48)) end end end end end end end}, fun (V49) -> fun (V50) -> fun (V51) -> fun (V52) -> fun (V53) -> begin (V54 = (V51(V53))), ((V52(V54))(V53)) end end end end end end, fun (V55) -> fun (V56) -> fun (V57) -> begin (V58 = (V56(V57))), (V58(V57)) end end end end}, fun (V59) -> fun (V60) -> V60 end end}, V0, ((V33 + 1) rem 9223372036854775808)))(V2))), {'Idris.Prelude.Types.Right', V61} end), case V62 of {'Idris.Prelude.Types.Left', E2} -> (fun (V63) -> {'Idris.Prelude.Types.Left', V63} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V64) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Name.MN', V1, V33}} end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--gType'(V0, V1) -> {'Idris.Core.Normalise.MkGlue', 0, fun (V2) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.TType', V1}} end, fun (V3) -> fun (V4) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NType', V1}} end end}. 'un--gErased'(V0, V1) -> {'Idris.Core.Normalise.MkGlue', 0, fun (V2) -> {'Idris.Prelude.Types.Right', {'Idris.Core.TT.Erased', V1, 1}} end, fun (V3) -> fun (V4) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NErased', V1, 1}} end end}. 'un--findAlt'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11) -> case V11 of [] -> fun (V12) -> begin (V13 = (('Idris.Idris2.Core.Context.Log':'un--log'(V2, <<"eval.casetree.stuck"/utf8>>, (1 + (1 + 0)), fun () -> <<"Ran out of alternatives"/utf8>> end))(V12))), case V13 of {'Idris.Prelude.Types.Left', E0} -> (fun (V14) -> {'Idris.Prelude.Types.Left', V14} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V15) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end; [E2 | E3] -> (fun (V16, V17) -> fun (V18) -> begin (V19 = (('un--tryAlt'(V0, V1, V2, V4, V3, V5, V6, V7, V8, V9, V10, V16))(V18))), case V19 of {'Idris.Prelude.Types.Left', E4} -> (fun (V20) -> {'Idris.Prelude.Types.Left', V20} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V21) -> case V21 of {'Idris.Core.Normalise.Result', E6} -> (fun (V22) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.Result', V22}} end(E6)); {'Idris.Core.Normalise.NoMatch'} -> (fun () -> (('un--findAlt'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V17))(V18)) end()); {'Idris.Core.Normalise.GotStuck'} -> (fun () -> begin (V31 = begin (V27 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V2, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V23) -> fun (V24) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__(CaseAlt $vars)'('erased', V23, V24)) end end, fun (V25) -> fun (V26) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__(CaseAlt $vars)'('erased', V25, V26)) end end}, V16, V18))), 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.Idris2.Core.Context.Log':'un--logC'(V2, <<"eval.casetree.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun (V30) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Got stuck matching "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Value':'dn--un--show_Show__(NF $free)'(V4, V10)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" against "/utf8>>, ('Idris.Idris2.Core.CaseTree':'dn--un--show_Show__(CaseAlt $vars)'(V3, V29))))))))} end, V18)) end(E8)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V31 of {'Idris.Prelude.Types.Left', E9} -> (fun (V32) -> {'Idris.Prelude.Types.Left', V32} end(E9)); {'Idris.Prelude.Types.Right', E10} -> (fun (V33) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end(E10)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end()); _ -> ('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. 'un--evalWithOpts'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> ('un--eval'(V3, V4, V0, V1, V2, V5, V6, V7, V8)). 'un--evalTree'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V10 of {'Idris.Core.CaseTree.Case', E0, E1, E2, E3} -> (fun (V11, V12, V13, V14) -> fun (V15) -> begin (V16 = (('un--evalLocal'(V0, V1, 'erased', V2, V4, V3, V5, V8, {'Idris.Prelude.Types.Nothing'}, V12, 'erased', [], V6))(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 = (('Idris.Idris2.Core.Context.Log':'un--log'(V2, <<"eval.casetree"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Evaluated "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V11)), ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<" to "/utf8>>, ('Idris.Idris2.Core.Value':'dn--un--show_Show__(NF $free)'(V4, V18)))))))) end))(V15))), case V19 of {'Idris.Prelude.Types.Left', E6} -> (fun (V20) -> {'Idris.Prelude.Types.Left', V20} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V21) -> begin (V22 = ('un--updateLocal'(V0, V1, 'erased', 'erased', 'erased', V12, 'erased', V6, V18))), (('un--findAlt'(V0, V1, V2, V3, V4, V5, V22, V7, V8, V9, V18, V14))(V15)) end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E0, E1, E2, E3)); {'Idris.Core.CaseTree.STerm', E8, E9} -> (fun (V23, V24) -> ('case--evalTree-5776'(V0, V1, V3, V4, V23, V24, V9, V8, V7, V6, V5, V2, case V7 of {'Idris.Core.Value.MkEvalOpts', E10, E11, E12, E13, E14, E15, E16, E17} -> (fun (V25, V26, V27, V28, V29, V30, V31, V32) -> V31 end(E10, E11, E12, E13, E14, E15, E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end(E8, E9)); _ -> fun (V33) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Normalise.GotStuck'}} end end. 'un--evalRef'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10) -> case V7 of {'Idris.Core.TT.DataCon', E0, E1} -> (fun (V11, V12) -> fun (V13) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NDCon', V6, V8, V11, V12, V9}} end end(E0, E1)); {'Idris.Core.TT.TyCon', E2, E3} -> (fun (V14, V15) -> fun (V16) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NTCon', V6, V8, V14, V15, V9}} end end(E2, E3)); {'Idris.Core.TT.Bound'} -> (fun () -> fun (V17) -> {'Idris.Prelude.Types.Right', (V10())} end end()); {'Idris.Core.TT.Func'} -> (fun () -> fun (V18) -> begin (V45 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V8, case V0 of {'Idris.Core.Context.MkDefs', E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29} -> (fun (V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44) -> V19 end(E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V18))), case V45 of {'Idris.Prelude.Types.Left', E30} -> (fun (V46) -> {'Idris.Prelude.Types.Left', V46} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V47) -> begin (V48 = {'Idris.Core.TT.Func'}), case V47 of {'Idris.Prelude.Types.Just', E32} -> (fun (V49) -> begin (V58 = case V1 of {'Idris.Core.Value.MkEvalOpts', E33, E34, E35, E36, E37, E38, E39, E40} -> (fun (V50, V51, V52, V53, V54, V55, V56, V57) -> V54 end(E33, E34, E35, E36, E37, E38, E39, E40)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end), begin (V153 = ('Idris.Idris2.Core.Context':'un--reducibleInAny'([case V0 of {'Idris.Core.Context.MkDefs', E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66} -> (fun (V59, 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) -> V61 end(E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end | case V0 of {'Idris.Core.Context.MkDefs', E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92} -> (fun (V85, V86, V87, V88, V89, V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110) -> V88 end(E67, E68, E69, E70, E71, 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], case V49 of {'Idris.Core.Context.MkGlobalDef', E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113} -> (fun (V111, V112, V113, V114, V115, V116, V117, V118, V119, V120, V121, V122, V123, V124, V125, V126, V127, V128, V129, V130, V131) -> V112 end(E93, E94, E95, E96, E97, E98, E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V49 of {'Idris.Core.Context.MkGlobalDef', E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134} -> (fun (V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142, V143, V144, V145, V146, V147, V148, V149, V150, V151, V152) -> V141 end(E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124, E125, E126, E127, E128, E129, E130, E131, E132, E133, E134)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))), begin (V154 = ('Idris.Idris2.Prelude.Basics':'un--||'(V58, fun () -> V153 end))), begin (V163 = begin (V159 = ('Idris.Idris2.Core.Context':'un--toFullNames'('erased', V2, {'Idris.Core.Context.dn--un--__mkHasNames', fun (V155) -> fun (V156) -> ('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(V155, V156)) end end, fun (V157) -> fun (V158) -> ('Idris.Idris2.Core.Context':'dn--un--resolved_HasNames__Name'(V157, V158)) end end}, V8, V18))), case V159 of {'Idris.Prelude.Types.Left', E135} -> (fun (V160) -> {'Idris.Prelude.Types.Left', V160} end(E135)); {'Idris.Prelude.Types.Right', E136} -> (fun (V161) -> case ('Idris.Idris2.Prelude.Basics':'un--not'(V153)) of 0 -> ('Idris.Idris2.Core.Context.Log':'un--logC'(V2, <<"eval.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun (V162) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Stuck function: "/utf8>>, ('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V161))))} end, V18)); 1 -> {'Idris.Prelude.Types.Right', {'Idris.Builtin.MkUnit'}}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E136)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end), case V163 of {'Idris.Prelude.Types.Left', E137} -> (fun (V164) -> {'Idris.Prelude.Types.Left', V164} end(E137)); {'Idris.Prelude.Types.Right', E138} -> (fun (V165) -> case V154 of 0 -> begin (V187 = (('un--useMeta'(case V49 of {'Idris.Core.Context.MkGlobalDef', E139, E140, E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153, E154, E155, E156, E157, E158, E159} -> (fun (V166, V167, V168, V169, V170, V171, V172, V173, V174, V175, V176, V177, V178, V179, V180, V181, V182, V183, V184, V185, V186) -> V181 end(E139, E140, E141, E142, E143, E144, E145, E146, E147, E148, E149, E150, E151, E152, E153, E154, E155, E156, E157, E158, E159)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V6, V8, V0, V1))(V18))), case V187 of {'Idris.Prelude.Types.Left', E160} -> (fun (V188) -> {'Idris.Prelude.Types.Left', V188} end(E160)); {'Idris.Prelude.Types.Right', E161} -> (fun (V189) -> case V189 of {'Idris.Prelude.Types.Just', E162} -> (fun (V190) -> begin (V191 = (('un--updateLimit'(V48, V8, V190))(V18))), case V191 of {'Idris.Prelude.Types.Left', E163} -> (fun (V192) -> {'Idris.Prelude.Types.Left', V192} end(E163)); {'Idris.Prelude.Types.Right', E164} -> (fun (V193) -> case V193 of {'Idris.Prelude.Types.Just', E165} -> (fun (V194) -> (('un--evalDef'(V0, V1, V2, V3, V4, V194, V5, V6, case V49 of {'Idris.Core.Context.MkGlobalDef', E166, E167, E168, E169, E170, E171, E172, E173, E174, E175, E176, E177, E178, E179, E180, E181, E182, E183, E184, E185, E186} -> (fun (V195, V196, V197, V198, V199, V200, V201, V202, V203, V204, V205, V206, V207, V208, V209, V210, V211, V212, V213, V214, V215) -> V202 end(E166, E167, E168, E169, E170, E171, E172, E173, E174, E175, E176, E177, E178, E179, E180, E181, E182, E183, E184, E185, E186)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V49 of {'Idris.Core.Context.MkGlobalDef', E187, E188, E189, E190, E191, E192, E193, E194, E195, E196, E197, E198, E199, E200, E201, E202, E203, E204, E205, E206, E207} -> (fun (V216, V217, V218, V219, V220, V221, V222, V223, V224, V225, V226, V227, V228, V229, V230, V231, V232, V233, V234, V235, V236) -> V233 end(E187, E188, E189, E190, E191, E192, E193, E194, E195, E196, E197, E198, E199, E200, E201, E202, E203, E204, E205, E206, E207)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, case V49 of {'Idris.Core.Context.MkGlobalDef', E208, E209, E210, E211, E212, E213, E214, E215, E216, E217, E218, E219, E220, E221, E222, E223, E224, E225, E226, E227, E228} -> (fun (V237, V238, V239, V240, V241, V242, V243, V244, V245, V246, V247, V248, V249, V250, V251, V252, V253, V254, V255, V256, V257) -> V248 end(E208, E209, E210, E211, E212, E213, E214, E215, E216, E217, E218, E219, E220, E221, E222, E223, E224, E225, E226, E227, E228)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V9, V10))(V18)) end(E165)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> begin (V258 = (('Idris.Idris2.Core.Context.Log':'un--log'(V2, <<"eval.stuck"/utf8>>, (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + 0)))))))))), fun () -> ('Idris.Idris2.Prelude.Types.Strings':'un--++'(<<"Function "/utf8>>, ('Idris.Idris2.Prelude.Types.Strings':'un--++'(('Idris.Idris2.Core.Name':'dn--un--show_Show__Name'(V8)), <<" past reduction limit"/utf8>>)))) end))(V18))), case V258 of {'Idris.Prelude.Types.Left', E229} -> (fun (V259) -> {'Idris.Prelude.Types.Left', V259} end(E229)); {'Idris.Prelude.Types.Right', E230} -> (fun (V260) -> {'Idris.Prelude.Types.Right', (V10())} end(E230)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E164)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E162)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', (V10())} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E161)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 1 -> {'Idris.Prelude.Types.Right', (V10())}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E138)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end end(E32)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', (V10())} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--evalOp'(V0, V1, V2, V3, V4, V5, V6, V7) -> ('case--evalOp-6101'(V0, V1, V4, V7, V6, V3, V5, V2, ('un--takeFromStack'(V0, V1, 'erased', V3, V6)))). 'un--evalMeta'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> ('un--evalRef'(V0, V1, V2, V3, V4, 0, V5, {'Idris.Core.TT.Func'}, {'Idris.Core.Name.Resolved', V7}, ('Idris.Idris2.Prelude.Types.List':'un--++'('erased', V8, V9)), fun () -> {'Idris.Core.Value.NApp', V5, {'Idris.Core.Value.NMeta', V6, V7, V8}, V9} end)). 'un--evalLocal'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V5 of [] -> ('case--evalLocal-4184'(V0, V1, 'erased', V4, V12, V11, V9, 'erased', V8, V7, V6, V3, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Prelude.Basics':'un--||'(case V1 of {'Idris.Core.Value.MkEvalOpts', E0, E1, E2, E3, E4, E5, E6, E7} -> (fun (V13, V14, V15, V16, V17, V18, V19, V20) -> V13 end(E0, E1, E2, E3, E4, E5, E6, E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, fun () -> case V1 of {'Idris.Core.Value.MkEvalOpts', E8, E9, E10, E11, E12, E13, E14, E15} -> (fun (V21, V22, V23, V24, V25, V26, V27, V28) -> V22 end(E8, E9, E10, E11, E12, E13, E14, E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end)))), fun () -> ('Idris.Idris2.Data.Maybe':'un--fromMaybe'('erased', fun () -> 0 end, V8)) end)))); [E16 | E17] -> (fun (V29, V30) -> case V9 of 0 -> case V12 of {'Idris.Core.Value.::', E20, E21} -> (fun (V31, V32) -> ('un--evalLocClosure'(V0, V1, V3, V4, V6, V7, V8, V11, V31)) end(E20, E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end; _ -> begin (V33 = (V9 - 1)), case V12 of {'Idris.Core.Value.::', E18, E19} -> (fun (V34, V35) -> ('un--evalLocal'(V0, V1, 'erased', V3, V4, V30, V6, V7, V8, V33, 'erased', V11, V35)) end(E18, E19)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E16, E17)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--evalLocClosure'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V8 of {'Idris.Core.Value.MkClosure', E0, E1, E2, E3, E4} -> (fun (V9, V10, V11, V12, V13) -> ('un--evalWithOpts'(V2, V3, V9, V0, V10, V12, V11, V13, V7)) end(E0, E1, E2, E3, E4)); {'Idris.Core.Value.MkNFClosure', E5} -> (fun (V14) -> ('nested--7360-4104--in--un--applyToStack'(V0, V1, V3, V14, V7, V6, V5, V4, V2, V14, V7)) end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--evalDef'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> case V9 of {'Idris.Core.Context.PMDef', E0, E1, E2, E3, E4} -> (fun (V13, V14, V15, V16, V17) -> ('case--evalDef-6229'(V0, V1, V3, V14, V16, V17, V15, V13, V12, V11, V10, V8, V7, V6, V5, V4, V2, ('Idris.Idris2.Prelude.Basics':'un--||'(case V13 of {'Idris.Core.Context.MkPMDefInfo', E5, E6} -> (fun (V18, V19) -> V19 end(E5, E6)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, fun () -> ('Idris.Idris2.Prelude.Basics':'un--||'(('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Prelude.Basics':'un--||'(case V5 of {'Idris.Core.Value.MkEvalOpts', E7, E8, E9, E10, E11, E12, E13, E14} -> (fun (V20, V21, V22, V23, V24, V25, V26, V27) -> V20 end(E7, E8, E9, E10, E11, E12, E13, E14)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, fun () -> ('Idris.Idris2.Prelude.Basics':'un--||'(case V5 of {'Idris.Core.Value.MkEvalOpts', E15, E16, E17, E18, E19, E20, E21, E22} -> (fun (V28, V29, V30, V31, V32, V33, V34, V35) -> V29 end(E15, E16, E17, E18, E19, E20, E21, E22)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, fun () -> case V5 of {'Idris.Core.Value.MkEvalOpts', E23, E24, E25, E26, E27, E28, E29, E30} -> (fun (V36, V37, V38, V39, V40, V41, V42, V43) -> V41 end(E23, E24, E25, E26, E27, E28, E29, E30)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end)) end)))), fun () -> ('Idris.Idris2.Prelude.Basics':'un--||'(('Idris.Idris2.Prelude.Basics':'un--&&'(V6, fun () -> ('Idris.Idris2.Prelude.Basics':'un--not'(('Idris.Idris2.Algebra.Semiring':'un--isErased'('erased', {'Idris.Builtin.MkPair', {'Idris.Algebra.Semiring.dn--un--__mkSemiring', fun (V44) -> fun (V45) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|+|_Semiring__ZeroOneOmega'(V44, V45)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--plusNeutral_Semiring__ZeroOneOmega'()), fun (V46) -> fun (V47) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--|*|_Semiring__ZeroOneOmega'(V46, V47)) end end, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--timesNeutral_Semiring__ZeroOneOmega'())}, {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V48) -> fun (V49) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--==_Eq__ZeroOneOmega'(V48, V49)) end end, fun (V50) -> fun (V51) -> ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V50, V51)) end end}}, V8)))) end)), fun () -> ('Idris.Idris2.Prelude.Basics':'un--||'(('Idris.Idris2.Prelude.Basics':'un--&&'(V6, fun () -> case V5 of {'Idris.Core.Value.MkEvalOpts', E31, E32, E33, E34, E35, E36, E37, E38} -> (fun (V52, V53, V54, V55, V56, V57, V58, V59) -> V52 end(E31, E32, E33, E34, E35, E36, E37, E38)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end)), fun () -> ('Idris.Idris2.Prelude.Basics':'un--&&'(case V5 of {'Idris.Core.Value.MkEvalOpts', E39, E40, E41, E42, E43, E44, E45, E46} -> (fun (V60, V61, V62, V63, V64, V65, V66, V67) -> V65 end(E39, E40, E41, E42, E43, E44, E45, E46)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, fun () -> ('Idris.Idris2.Prelude.Types':'un--elem'('erased', {'Idris.Prelude.EqOrd.dn--un--__mkEq', fun (V68) -> fun (V69) -> ('Idris.Idris2.Core.Context':'dn--un--==_Eq__DefFlag'(V68, V69)) end end, fun (V70) -> fun (V71) -> ('Idris.Idris2.Core.Context':'dn--un--/=_Eq__DefFlag'(V70, V71)) end end}, {'Idris.Core.Context.TCInline'}, V10)) end)) end)) end)) end)) end)))) end(E0, E1, E2, E3, E4)); {'Idris.Core.Context.Builtin', E47, E48} -> (fun (V72, V73) -> ('un--evalOp'(V0, V1, V2, V72, V3, ('Idris.Idris2.Core.Primitives':'un--getOp'('erased', V73, V3)), V11, V12)) end(E47, E48)); _ -> fun (V74) -> {'Idris.Prelude.Types.Right', (V12())} end end. 'un--evalConAlt'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12) -> ('case--evalConAlt-4861'(V0, V1, V3, V4, V10, V12, V11, V9, V8, V7, V6, V5, V2, ('un--getCaseBound'(V0, V1, 'erased', 'erased', V11, V10, V6)))). 'un--evalClosure'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.Value.MkClosure', E0, E1, E2, E3, E4} -> (fun (V4, V5, V6, V7, V8) -> ('un--eval'(V2, V5, V0, V1, V4, V7, V6, V8, [])) end(E0, E1, E2, E3, E4)); {'Idris.Core.Value.MkNFClosure', E5} -> (fun (V9) -> fun (V10) -> {'Idris.Prelude.Types.Right', V9} end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--evalArg'(V0, V1, V2, V3) -> ('un--evalClosure'(V0, V1, V2, V3)). 'un--eval'(V0, V1, V2, V3, V4, V5, V6, V7, V8) -> case V7 of {'Idris.Core.TT.Local', E0, E1, E2} -> (fun (V9, V10, V11) -> ('un--evalLocal'(V0, V1, 'erased', V2, V3, V4, V5, V9, V10, V11, 'erased', V8, V6)) end(E0, E1, E2)); {'Idris.Core.TT.Ref', E3, E4, E5} -> (fun (V12, V13, V14) -> ('un--evalRef'(V0, V1, V2, V3, V5, 1, V12, V13, V14, V8, fun () -> {'Idris.Core.Value.NApp', V12, {'Idris.Core.Value.NRef', V13, V14}, V8} end)) end(E3, E4, E5)); {'Idris.Core.TT.Meta', E6, E7, E8, E9} -> (fun (V15, V16, V17, V18) -> ('un--evalMeta'(V0, V1, V2, V3, V5, V15, V16, V17, ('nested--7359-3651--in--un--closeArgs'(V0, V1, V4, V3, V18, V17, V16, V15, V8, V6, V5, V2, V18)), V8)) end(E6, E7, E8, E9)); {'Idris.Core.TT.Bind', E10, E11, E12, E13} -> (fun (V19, V20, V21, V22) -> case V21 of {'Idris.Core.TT.Lam', E16, E17, E18, E19} -> (fun (V23, V24, V25, V26) -> case V8 of [E22 | E23] -> (fun (V27, V28) -> ('un--eval'(V0, V1, V2, V3, [V20 | V4], V5, {'Idris.Core.Value.::', V27, V6}, V22, V28)) end(E22, E23)); _ -> fun (V29) -> begin (V31 = (('Idris.Idris2.Core.Core.Binder':'un--traverse'('erased', 'erased', fun (V30) -> ('un--eval'(V0, V1, V2, V3, V4, V5, V6, V30, [])) end, V21))(V29))), case V31 of {'Idris.Prelude.Types.Left', E20} -> (fun (V32) -> {'Idris.Prelude.Types.Left', V32} end(E20)); {'Idris.Prelude.Types.Right', E21} -> (fun (V33) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NBind', V19, V20, V33, fun (V34) -> fun (V35) -> ('un--evalWithOpts'(V2, V3, [V20 | V4], V34, V1, V5, {'Idris.Core.Value.::', V35, V6}, V22, V8)) end end}} end(E21)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E16, E17, E18, E19)); {'Idris.Core.TT.Let', E24, E25, E26, E27} -> (fun (V36, V37, V38, V39) -> begin (V40 = {'Idris.Core.TT.Let', V36, V37, V38, V39}), ('case--eval-3703'(V0, V1, V3, V4, V36, V20, V22, V38, V39, V37, V40, V19, V8, V6, V5, V2, ('Idris.Idris2.Prelude.Basics':'un--&&'(('Idris.Idris2.Prelude.Basics':'un--||'(case V1 of {'Idris.Core.Value.MkEvalOpts', E28, E29, E30, E31, E32, E33, E34, E35} -> (fun (V41, V42, V43, V44, V45, V46, V47, V48) -> V41 end(E28, E29, E30, E31, E32, E33, E34, E35)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, fun () -> case V1 of {'Idris.Core.Value.MkEvalOpts', E36, E37, E38, E39, E40, E41, E42, E43} -> (fun (V49, V50, V51, V52, V53, V54, V55, V56) -> V50 end(E36, E37, E38, E39, E40, E41, E42, E43)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end)), fun () -> ('Idris.Idris2.Prelude.Basics':'un--not'(case V1 of {'Idris.Core.Value.MkEvalOpts', E44, E45, E46, E47, E48, E49, E50, E51} -> (fun (V57, V58, V59, V60, V61, V62, V63, V64) -> V62 end(E44, E45, E46, E47, E48, E49, E50, E51)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end)))) end end(E24, E25, E26, E27)); _ -> fun (V65) -> begin (V67 = (('Idris.Idris2.Core.Core.Binder':'un--traverse'('erased', 'erased', fun (V66) -> ('un--eval'(V0, V1, V2, V3, V4, V5, V6, V66, [])) end, V21))(V65))), case V67 of {'Idris.Prelude.Types.Left', E14} -> (fun (V68) -> {'Idris.Prelude.Types.Left', V68} end(E14)); {'Idris.Prelude.Types.Right', E15} -> (fun (V69) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NBind', V19, V20, V69, fun (V70) -> fun (V71) -> ('un--evalWithOpts'(V2, V3, [V20 | V4], V70, V1, V5, {'Idris.Core.Value.::', V71, V6}, V22, V8)) end end}} end(E15)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end end(E10, E11, E12, E13)); {'Idris.Core.TT.App', E52, E53, E54} -> (fun (V72, V73, V74) -> ('un--eval'(V0, V1, V2, V3, V4, V5, V6, V73, [{'Idris.Core.Value.MkClosure', V4, V1, V6, V5, V74} | V8])) end(E52, E53, E54)); {'Idris.Core.TT.As', E55, E56, E57, E58} -> (fun (V75, V76, V77, V78) -> ('case--eval-3874'(V0, V1, V3, V4, V78, V77, V76, V75, V8, V6, V5, V2, case V1 of {'Idris.Core.Value.MkEvalOpts', E59, E60, E61, E62, E63, E64, E65, E66} -> (fun (V79, V80, V81, V82, V83, V84, V85, V86) -> V81 end(E59, E60, E61, E62, E63, E64, E65, E66)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end)) end(E55, E56, E57, E58)); {'Idris.Core.TT.TDelayed', E67, E68, E69} -> (fun (V87, V88, V89) -> fun (V90) -> begin (V91 = (('un--eval'(V0, V1, V2, V3, V4, V5, V6, V89, V8))(V90))), case V91 of {'Idris.Prelude.Types.Left', E70} -> (fun (V92) -> {'Idris.Prelude.Types.Left', V92} end(E70)); {'Idris.Prelude.Types.Right', E71} -> (fun (V93) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NDelayed', V87, V88, V93}} end(E71)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E67, E68, E69)); {'Idris.Core.TT.TDelay', E72, E73, E74, E75} -> (fun (V94, V95, V96, V97) -> fun (V98) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NDelay', V94, V95, {'Idris.Core.Value.MkClosure', V4, V1, V6, V5, V96}, {'Idris.Core.Value.MkClosure', V4, V1, V6, V5, V97}}} end end(E72, E73, E74, E75)); {'Idris.Core.TT.TForce', E76, E77, E78} -> (fun (V99, V100, V101) -> fun (V102) -> begin (V103 = (('un--eval'(V0, V1, V2, V3, V4, V5, V6, V101, []))(V102))), case V103 of {'Idris.Prelude.Types.Left', E79} -> (fun (V104) -> {'Idris.Prelude.Types.Left', V104} end(E79)); {'Idris.Prelude.Types.Right', E80} -> (fun (V105) -> case V105 of {'Idris.Core.Value.NDelay', E81, E82, E83, E84} -> (fun (V106, V107, V108, V109) -> (('un--eval'(V0, V1, V2, V3, [{'Idris.Core.Name.UN', <<"fvar"/utf8>>} | V4], V5, {'Idris.Core.Value.::', V109, V6}, {'Idris.Core.TT.Local', V106, {'Idris.Prelude.Types.Nothing'}, 0}, V8))(V102)) end(E81, E82, E83, E84)); _ -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NForce', V99, V100, V105, V8}} end end(E80)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E76, E77, E78)); {'Idris.Core.TT.PrimVal', E85, E86} -> (fun (V110, V111) -> fun (V112) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NPrimVal', V110, V111}} end end(E85, E86)); {'Idris.Core.TT.Erased', E87, E88} -> (fun (V113, V114) -> fun (V115) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NErased', V113, V114}} end end(E87, E88)); {'Idris.Core.TT.TType', E89} -> (fun (V116) -> fun (V117) -> {'Idris.Prelude.Types.Right', {'Idris.Core.Value.NType', V116}} end end(E89)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--etaContract'(V0, V1, V2, V3) -> begin (V32 = begin (V31 = (('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 (V4) -> fun (V5) -> fun (V6) -> fun (V7) -> fun (V8) -> ('Idris.Idris2.Prelude.IO':'dn--un--map_Functor__IO'('erased', 'erased', V6, V7, V8)) end end end end end, fun (V9) -> fun (V10) -> fun (V11) -> V10 end end end, fun (V12) -> fun (V13) -> fun (V14) -> fun (V15) -> fun (V16) -> begin (V17 = (V14(V16))), begin (V18 = (V15(V16))), (V17(V18)) end end end end end end end}, fun (V19) -> fun (V20) -> fun (V21) -> fun (V22) -> fun (V23) -> begin (V24 = (V21(V23))), ((V22(V24))(V23)) end end end end end end, fun (V25) -> fun (V26) -> fun (V27) -> begin (V28 = (V26(V27))), (V28(V27)) end end end end}, fun (V29) -> fun (V30) -> V30 end end}, V0))(V3))), {'Idris.Prelude.Types.Right', V31} end), case V32 of {'Idris.Prelude.Types.Left', E0} -> (fun (V33) -> {'Idris.Prelude.Types.Left', V33} end(E0)); {'Idris.Prelude.Types.Right', E1} -> (fun (V34) -> begin (V35 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V1, V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Attempting to eta contract subterms of"/utf8>> end, V2, V3))), case V35 of {'Idris.Prelude.Types.Left', E2} -> (fun (V36) -> {'Idris.Prelude.Types.Left', V36} end(E2)); {'Idris.Prelude.Types.Right', E3} -> (fun (V37) -> begin (V38 = ('un--normalise'(V0, V1, V34, ('Idris.Idris2.Core.Env':'un--mkEnv'({'Idris.Core.FC.EmptyFC'}, V1)), V2, V3))), case V38 of {'Idris.Prelude.Types.Left', E4} -> (fun (V39) -> {'Idris.Prelude.Types.Left', V39} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V40) -> begin (V41 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V1, V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Evaluated to"/utf8>> end, V40, V3))), case V41 of {'Idris.Prelude.Types.Left', E6} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V43) -> begin (V47 = (('Idris.Idris2.Core.Core':'un--mapTermM'(fun (V44) -> fun (V45) -> fun (V46) -> ('nested--12696-8390--in--un--act'(V0, V1, V2, V44, V45, V46)) end end end, V1, V2))(V3))), case V47 of {'Idris.Prelude.Types.Left', E8} -> (fun (V48) -> {'Idris.Prelude.Types.Left', V48} end(E8)); {'Idris.Prelude.Types.Right', E9} -> (fun (V49) -> begin (V50 = ('Idris.Idris2.Core.Context.Log':'un--logTerm'(V1, V0, <<"eval.eta"/utf8>>, (1 + (1 + (1 + (1 + (1 + 0))))), fun () -> <<"Result of eta-contraction"/utf8>> end, V49, V3))), case V50 of {'Idris.Prelude.Types.Left', E10} -> (fun (V51) -> {'Idris.Prelude.Types.Left', V51} end(E10)); {'Idris.Prelude.Types.Right', E11} -> (fun (V52) -> {'Idris.Prelude.Types.Right', V49} end(E11)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E9)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--convert'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.Normalise.dn--un--__mkConvert', E0, E1} -> (fun (V4, V5) -> fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> ((((((V4(V1))(V2))(V6))(V7))(V8))(V9)) end end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--convGen'(V0, V1, V2, V3) -> case V3 of {'Idris.Core.Normalise.dn--un--__mkConvert', E0, E1} -> (fun (V4, V5) -> fun (V6) -> fun (V7) -> fun (V8) -> fun (V9) -> fun (V10) -> (((((((V5(V1))(V2))(V6))(V7))(V8))(V9))(V10)) end end end end end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--convBinders'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of {'Idris.Core.TT.Pi', E0, E1, E2, E3} -> (fun (V7, V8, V9, V10) -> case V6 of {'Idris.Core.TT.Pi', E4, E5, E6, E7} -> (fun (V11, V12, V13, V14) -> ('case--convBinders-12246'(V1, V11, V7, V10, V9, V8, V14, V13, V12, V4, V3, V2, V0, ('Idris.Idris2.Prelude.Basics':'un--not'(('un--subRig'(V8, V12)))))) end(E4, E5, E6, E7)); _ -> ('case--convBinders-12400'(V1, V6, V5, V4, V3, V2, V0, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V5)), ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V6)))))) end end(E0, E1, E2, E3)); {'Idris.Core.TT.Lam', E8, E9, E10, E11} -> (fun (V15, V16, V17, V18) -> case V6 of {'Idris.Core.TT.Lam', E12, E13, E14, E15} -> (fun (V19, V20, V21, V22) -> ('case--convBinders-12327'(V1, V19, V15, V18, V17, V16, V22, V21, V20, V4, V3, V2, V0, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(V16, V20)))) end(E12, E13, E14, E15)); _ -> ('case--convBinders-12400'(V1, V6, V5, V4, V3, V2, V0, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V5)), ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V6)))))) end end(E8, E9, E10, E11)); _ -> ('case--convBinders-12400'(V1, V6, V5, V4, V3, V2, V0, ('Idris.Idris2.Algebra.ZeroOneOmega':'dn--un--/=_Eq__ZeroOneOmega'(('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V5)), ('Idris.Idris2.Core.TT':'un--multiplicity'('erased', V6)))))) end. 'un--chkSameDefs'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> begin (V36 = ('Idris.Idris2.Core.Context':'un--lookupDefExact'(V5, case V3 of {'Idris.Core.Context.MkDefs', E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25} -> (fun (V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35) -> V10 end(E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V9))), case V36 of {'Idris.Prelude.Types.Left', E26} -> (fun (V37) -> {'Idris.Prelude.Types.Left', V37} end(E26)); {'Idris.Prelude.Types.Right', E27} -> (fun (V38) -> case V38 of {'Idris.Prelude.Types.Just', E28} -> (fun (V39) -> case V39 of {'Idris.Core.Context.PMDef', E29, E30, E31, E32, E33} -> (fun (V40, V41, V42, V43, V44) -> begin (V71 = ('Idris.Idris2.Core.Context':'un--lookupDefExact'(V6, case V3 of {'Idris.Core.Context.MkDefs', E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59} -> (fun (V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70) -> V45 end(E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V9))), case V71 of {'Idris.Prelude.Types.Left', E60} -> (fun (V72) -> {'Idris.Prelude.Types.Left', V72} end(E60)); {'Idris.Prelude.Types.Right', E61} -> (fun (V73) -> case V73 of {'Idris.Prelude.Types.Just', E62} -> (fun (V74) -> case V74 of {'Idris.Core.Context.PMDef', E63, E64, E65, E66, E67} -> (fun (V75, V76, V77, V78, V79) -> begin (V80 = (('un--getMatchingVars'(V0, V41, V76, V3, [], V42, V77))(V9))), case V80 of {'Idris.Prelude.Types.Left', E68} -> (fun (V81) -> {'Idris.Prelude.Types.Left', V81} end(E68)); {'Idris.Prelude.Types.Right', E69} -> (fun (V82) -> case V82 of {'Idris.Prelude.Types.Just', E70} -> (fun (V83) -> (('nested--13636-10203--in--un--convertMatches'(V1, V8, V7, V6, V5, V4, V3, V2, V0, V41, V76, V83))(V9)) end(E70)); {'Idris.Prelude.Types.Nothing'} -> (fun () -> {'Idris.Prelude.Types.Right', 1} end()); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E69)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E63, E64, E65, E66, E67)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E62)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E61)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E29, E30, E31, E32, E33)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E28)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E27)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end. 'un--chkConvHead'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of {'Idris.Core.Value.NLocal', E0, E1} -> (fun (V7, V8) -> case V6 of {'Idris.Core.Value.NLocal', E2, E3} -> (fun (V9, V10) -> fun (V11) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Types':'dn--un--==_Eq__Nat'(V8, V10))} end end(E2, E3)); _ -> fun (V12) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1)); {'Idris.Core.Value.NRef', E4, E5} -> (fun (V13, V14) -> case V6 of {'Idris.Core.Value.NRef', E6, E7} -> (fun (V15, V16) -> fun (V17) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Core.Name':'dn--un--==_Eq__Name'(V14, V16))} end end(E6, E7)); _ -> fun (V18) -> {'Idris.Prelude.Types.Right', 1} end end end(E4, E5)); {'Idris.Core.Value.NMeta', E8, E9, E10} -> (fun (V19, V20, V21) -> case V6 of {'Idris.Core.Value.NMeta', E11, E12, E13} -> (fun (V22, V23, V24) -> ('case--chkConvHead-12155'(V1, V21, V20, V19, V24, V23, V22, V4, V3, V2, V0, ('Idris.Idris2.Prelude.EqOrd':'dn--un--==_Eq__Int'(V20, V23)))) end(E11, E12, E13)); _ -> fun (V25) -> {'Idris.Prelude.Types.Right', 1} end end end(E8, E9, E10)); _ -> fun (V26) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--chkConvCaseBlock'(V0, V1, V2, V3, V4, V5, V6, V7, V8, V9) -> case V6 of {'Idris.Core.Value.NRef', E0, E1} -> (fun (V10, V11) -> case V8 of {'Idris.Core.Value.NRef', E2, E3} -> (fun (V12, V13) -> fun (V14) -> begin (V41 = (('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(case V4 of {'Idris.Core.Context.MkDefs', E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29} -> (fun (V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40) -> V15 end(E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V11))(V14))), case V41 of {'Idris.Prelude.Types.Left', E30} -> (fun (V42) -> {'Idris.Prelude.Types.Left', V42} end(E30)); {'Idris.Prelude.Types.Right', E31} -> (fun (V43) -> case V43 of {'Idris.Core.Name.NS', E32, E33} -> (fun (V44, V45) -> case V45 of {'Idris.Core.Name.CaseBlock', E34, E35} -> (fun (V46, V47) -> begin (V74 = (('Idris.Idris2.Core.Context':'dn--un--full_HasNames__Name'(case V4 of {'Idris.Core.Context.MkDefs', E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61} -> (fun (V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V59, V60, V61, V62, V63, V64, V65, V66, V67, V68, V69, V70, V71, V72, V73) -> V48 end(E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end, V13))(V14))), case V74 of {'Idris.Prelude.Types.Left', E62} -> (fun (V75) -> {'Idris.Prelude.Types.Left', V75} end(E62)); {'Idris.Prelude.Types.Right', E63} -> (fun (V76) -> begin (V77 = {'Idris.Core.Name.NS', V44, {'Idris.Core.Name.CaseBlock', V46, V47}}), case V76 of {'Idris.Core.Name.NS', E64, E65} -> (fun (V78, V79) -> case V79 of {'Idris.Core.Name.CaseBlock', E66, E67} -> (fun (V80, V81) -> begin (V82 = ('un--chkSameDefs'(V0, V1, V3, V4, V5, V11, V13, V7, V9, V14))), case V82 of {'Idris.Prelude.Types.Left', E68} -> (fun (V83) -> {'Idris.Prelude.Types.Left', V83} end(E68)); {'Idris.Prelude.Types.Right', E69} -> (fun (V84) -> begin (V85 = {'Idris.Core.Name.NS', V78, {'Idris.Core.Name.CaseBlock', V80, V81}}), case V84 of 1 -> begin (V112 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V11, case V4 of {'Idris.Core.Context.MkDefs', E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95} -> (fun (V86, V87, V88, V89, V90, V91, V92, V93, V94, V95, V96, V97, V98, V99, V100, V101, V102, V103, V104, V105, V106, V107, V108, V109, V110, V111) -> V86 end(E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V14))), case V112 of {'Idris.Prelude.Types.Left', E96} -> (fun (V113) -> {'Idris.Prelude.Types.Left', V113} end(E96)); {'Idris.Prelude.Types.Right', E97} -> (fun (V114) -> begin (V115 = 1), case V114 of {'Idris.Prelude.Types.Just', E98} -> (fun (V116) -> begin (V143 = (('Idris.Idris2.Core.Context':'un--lookupCtxtExact'(V13, case V4 of {'Idris.Core.Context.MkDefs', E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124} -> (fun (V117, V118, V119, V120, V121, V122, V123, V124, V125, V126, V127, V128, V129, V130, V131, V132, V133, V134, V135, V136, V137, V138, V139, V140, V141, V142) -> V117 end(E99, E100, E101, E102, E103, E104, E105, E106, E107, E108, E109, E110, E111, E112, E113, E114, E115, E116, E117, E118, E119, E120, E121, E122, E123, E124)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V14))), case V143 of {'Idris.Prelude.Types.Left', E125} -> (fun (V144) -> {'Idris.Prelude.Types.Left', V144} end(E125)); {'Idris.Prelude.Types.Right', E126} -> (fun (V145) -> begin (V146 = {'Idris.Prelude.Types.Just', V116}), case V145 of {'Idris.Prelude.Types.Just', E127} -> (fun (V147) -> begin (V148 = {'Idris.Prelude.Types.Just', V147}), (('case--case block in case block in case block in case block in case block in chkConvCaseBlock-10982'(V1, V12, V10, V11, V13, V9, V7, V5, V4, V3, V2, V0, V44, V46, V47, V77, V78, V80, V81, V85, V115, V116, V146, V147, V148, case V116 of {'Idris.Core.Context.MkGlobalDef', E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140, E141, E142, E143, E144, E145, E146, E147, E148} -> (fun (V149, V150, V151, V152, V153, V154, V155, V156, V157, V158, V159, V160, V161, V162, V163, V164, V165, V166, V167, V168, V169) -> V166 end(E128, E129, E130, E131, E132, E133, E134, E135, E136, E137, E138, E139, E140, E141, E142, E143, E144, E145, E146, E147, E148)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end))(V14)) end end(E127)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E126)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E98)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E97)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end; 0 -> {'Idris.Prelude.Types.Right', 0}; _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E69)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E66, E67)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E64, E65)); _ -> {'Idris.Prelude.Types.Right', 1} end end end(E63)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E34, E35)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E32, E33)); _ -> {'Idris.Prelude.Types.Right', 1} end end(E31)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> fun (V170) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1)); _ -> fun (V171) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--argsFromStack'(V0, V1, V2, V3, V4) -> case V3 of [] -> {'Idris.Prelude.Types.Just', {'Idris.Builtin.MkPair', {'Idris.Core.Value.Nil'}, V4}}; [E0 | E1] -> (fun (V5, V6) -> case V4 of [] -> {'Idris.Prelude.Types.Nothing'}; [E2 | E3] -> (fun (V7, V8) -> ('Idris.Idris2.Prelude.Types':'dn--un-->>=_Monad__Maybe'('erased', 'erased', ('un--argsFromStack'(V0, V1, 'erased', V6, V8)), fun (V9) -> case V9 of {'Idris.Builtin.MkPair', E4, E5} -> (fun (V10, V11) -> ('Idris.Idris2.Prelude.Types':'dn--un--pure_Applicative__Maybe'('erased', {'Idris.Builtin.MkPair', {'Idris.Core.Value.::', V7, V10}, V11})) end(E4, E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end)) end(E2, E3)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end(E0, E1)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end. 'un--allConv'(V0, V1, V2, V3, V4, V5, V6) -> case V5 of [] -> case V6 of [] -> fun (V7) -> {'Idris.Prelude.Types.Right', 0} end; _ -> fun (V8) -> {'Idris.Prelude.Types.Right', 1} end end; [E0 | E1] -> (fun (V9, V10) -> case V6 of [E2 | E3] -> (fun (V11, V12) -> fun (V13) -> begin (V14 = ('dn--un--convGen_Convert__Closure'(V0, V1, V2, V3, V4, V9, V11, V13))), case V14 of {'Idris.Prelude.Types.Left', E4} -> (fun (V15) -> {'Idris.Prelude.Types.Left', V15} end(E4)); {'Idris.Prelude.Types.Right', E5} -> (fun (V16) -> begin (V17 = (('un--allConv'(V0, V1, V2, V3, V4, V10, V12))(V13))), case V17 of {'Idris.Prelude.Types.Left', E6} -> (fun (V18) -> {'Idris.Prelude.Types.Left', V18} end(E6)); {'Idris.Prelude.Types.Right', E7} -> (fun (V19) -> {'Idris.Prelude.Types.Right', ('Idris.Idris2.Prelude.Basics':'un--&&'(V16, fun () -> V19 end))} end(E7)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end(E5)); _ -> ('erlang':'throw'("Error: Unreachable branch")) end end end end(E2, E3)); _ -> fun (V20) -> {'Idris.Prelude.Types.Right', 1} end end end(E0, E1)); _ -> fun (V21) -> {'Idris.Prelude.Types.Right', 1} end end. 'un--Stack'(V0) -> {'Idris.Prelude.Types.List', {'Idris.Core.Value.Closure', V0}}.