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