Prog "FlexRigid" ["FlatCurry","Prelude"] [Type ((Nothing,Nothing,"FlexRigid","FlexRigidResult")) Public [] [Cons ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) 0 Public [],Cons ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) 0 Public [],Cons ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) 0 Public [],Cons ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) 0 Public []]] [Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])),"FlexRigid","getFlexRigid")) 1 Public (FuncType (TCons ((Nothing,Nothing,"FlatCurry","Expr")) []) (TCons ((Nothing,Nothing,"FlexRigid","FlexRigidResult")) [])) (Rule [(Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","Int") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") [])),"FlatCurry","Var")) [(Just (TCons (Nothing,Nothing,"Prelude","Int") []),2)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Literal") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") [])),"FlatCurry","Lit")) [(Just (TCons (Nothing,Nothing,"FlatCurry","Literal") []),3)]) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","CombType") []) (FuncType (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]) (TCons (Nothing,Nothing,"FlatCurry","Expr") [])))),"FlatCurry","Comb")) [(Just (TCons (Nothing,Nothing,"FlatCurry","CombType") []),4),(Just (TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []],TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Char") []]]),5),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]),6)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []))) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []]) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []))),"FlexRigid","joinCaseTypes")) [],Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) [],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []]))),"Prelude","map")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])),"FlexRigid","getFlexRigid")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]),6))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"FlatCurry","Expr") []]]) (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") []))),"FlatCurry","Let")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","(,)") [TCons (Nothing,Nothing,"Prelude","Int") [],TCons (Nothing,Nothing,"FlatCurry","Expr") []]]),7),(Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),8)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])),"FlexRigid","getFlexRigid")) [Var ((Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),8))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]) (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") []))),"FlatCurry","Free")) [(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"Prelude","Int") []]),9),(Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),10)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])),"FlexRigid","getFlexRigid")) [Var ((Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),10))]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") []))),"FlatCurry","Or")) [(Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),11),(Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),12)]) (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []))),"FlexRigid","joinCaseTypes")) [Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])),"FlexRigid","getFlexRigid")) [Var ((Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),11))],Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])),"FlexRigid","getFlexRigid")) [Var ((Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),12))]]),Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","CaseType") []) (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []]) (TCons (Nothing,Nothing,"FlatCurry","Expr") [])))),"FlatCurry","Case")) [(Just (TCons (Nothing,Nothing,"FlatCurry","CaseType") []),13),(Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),14),(Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []]),15)]) (Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []))) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []]) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])))),"Prelude","foldr")) [Comb (FuncPartCall 2) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []))),"FlexRigid","joinCaseTypes")) [],Case Rigid (Comb FuncCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","CaseType") []) (FuncType (TCons (Nothing,Nothing,"FlatCurry","CaseType") []) (TCons (Nothing,Nothing,"Prelude","Bool") []))),"Prelude","==")) [Var ((Just (TCons (Nothing,Nothing,"FlatCurry","CaseType") []),13)),Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlatCurry","CaseType") []),"FlatCurry","Flex")) []]) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","True")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"Prelude","Bool") []),"Prelude","False")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) [])],Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []]))),"Prelude","map")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") [])),"FlexRigid","getFlexRigid")) [],Comb ConsCall ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]))),"Prelude",":")) [Var ((Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),14)),Comb FuncCall ((Nothing,Just (FuncType (FuncType (TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") [])) (FuncType (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []]) (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","Expr") []]))),"Prelude","map")) [Comb (FuncPartCall 1) ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") [])),"FlexRigid","getFlexRigid._#lambda2")) [],Var ((Just (TCons (Nothing,Nothing,"Prelude","[]") [TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []]),15))]]]])])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []) (TCons (Nothing,Nothing,"FlatCurry","Expr") [])),"FlexRigid","getFlexRigid._#lambda2")) 1 Private (FuncType (TCons ((Nothing,Nothing,"FlatCurry","BranchExpr")) []) (TCons ((Nothing,Nothing,"FlatCurry","Expr")) [])) (Rule [(Just (TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []),1)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []),1))) [Branch (Pattern ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlatCurry","Pattern") []) (FuncType (TCons (Nothing,Nothing,"FlatCurry","Expr") []) (TCons (Nothing,Nothing,"FlatCurry","BranchExpr") []))),"FlatCurry","Branch")) [(Just (TCons (Nothing,Nothing,"FlatCurry","Pattern") []),2),(Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),3)]) (Var ((Just (TCons (Nothing,Nothing,"FlatCurry","Expr") []),3)))])),Func ((Nothing,Just (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (FuncType (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []) (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []))),"FlexRigid","joinCaseTypes")) 2 Private (FuncType (TCons ((Nothing,Nothing,"FlexRigid","FlexRigidResult")) []) (FuncType (TCons ((Nothing,Nothing,"FlexRigid","FlexRigidResult")) []) (TCons ((Nothing,Nothing,"FlexRigid","FlexRigidResult")) []))) (Rule [(Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),1),(Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),2)] (Case Flex (Var ((Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),1))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) [])]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) [])]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) [])]),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) []) (Case Flex (Var ((Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),2))) [Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","UnknownFR")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownFlex")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","ConflictFR")) []),Branch (Pattern ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) []) (Comb ConsCall ((Nothing,Just (TCons (Nothing,Nothing,"FlexRigid","FlexRigidResult") []),"FlexRigid","KnownRigid")) [])])]))] []