================================================================================ Desugared: Rec { scsel_NooShouldSucceedBoo{-aKl,x-} :: _forall_ [a{-r3n-}] => {Noo{-r3B,x-} a{-r3n-}} -> {Boo{-r3o,x-} a{-r3n-}} {-# L #-} scsel_NooShouldSucceedBoo{-aKl,x-} = _/\_ a{-r3n-} -> \ tpl_B1 :: {Noo{-r3B,x-} a{-r3n-}} {-# L #-} tpl_B1 -> case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;} op2{-r3A,x-} :: _forall_ [a{-r3n-}] => {Noo{-r3B,x-} a{-r3n-}} -> (_forall_ [b{-r3q-}] => {PrelBase.Eq{-23,p-} b{-r3q-}} -> a{-r3n-} -> b{-r3q-} -> a{-r3n-}) {-# L #-} op2{-r3A,x-} = _/\_ a{-r3n-} -> \ tpl_B1 :: {Noo{-r3B,x-} a{-r3n-}} {-# L #-} tpl_B1 -> case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;} $mop2{-rGB,x-} :: _forall_ [a{-r3n-}] => {Noo{-r3B,x-} a{-r3n-}} -> (_forall_ [b{-r3q-}] => {PrelBase.Eq{-23,p-} b{-r3q-}} -> a{-r3n-} -> b{-r3q-} -> a{-r3n-}) {-# L #-} $mop2{-rGB,x-} = _/\_ a{-aHc-} -> \ d.Noo_aH5 :: {Noo{-r3B,x-} a{-aHc-}} {-# L #-} d.Noo_aH5 -> _/\_ b{-aHg-} -> \ d.Eq_aHi :: {PrelBase.Eq{-23,p-} b{-aHg-}} {-# L #-} d.Eq_aHi -> GHCerr.noDefaultMethodError{-8k,p-} _@_ (a{-aHc-} -> b{-aHg-} -> a{-aHc-}) _string_ "Class Noo Method op2" scsel_BooShouldSucceedFoo{-aKD,x-} :: _forall_ [a{-r3t-}] => {Boo{-r3o,x-} a{-r3t-}} -> {Foo{-r3u,x-} a{-r3t-}} {-# L #-} scsel_BooShouldSucceedFoo{-aKD,x-} = _/\_ a{-r3t-} -> \ tpl_B1 :: {Boo{-r3o,x-} a{-r3t-}} {-# L #-} tpl_B1 -> case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;} op1{-r3C,x-} :: _forall_ [a{-r3t-}] => {Boo{-r3o,x-} a{-r3t-}} -> a{-r3t-} -> a{-r3t-} {-# L #-} op1{-r3C,x-} = _/\_ a{-r3t-} -> \ tpl_B1 :: {Boo{-r3o,x-} a{-r3t-}} {-# L #-} tpl_B1 -> case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;} $mop1{-rGD,x-} :: _forall_ [a{-r3t-}] => {Boo{-r3o,x-} a{-r3t-}} -> a{-r3t-} -> a{-r3t-} {-# L #-} $mop1{-rGD,x-} = _/\_ a{-aHs-} -> \ d.Boo_aHl :: {Boo{-r3o,x-} a{-aHs-}} {-# L #-} d.Boo_aHl -> GHCerr.noDefaultMethodError{-8k,p-} _@_ (a{-aHs-} -> a{-aHs-}) _string_ "Class Boo Method op1" op{-r3D,x-} :: _forall_ [a{-r3y-}] => {Foo{-r3u,x-} a{-r3y-}} -> a{-r3y-} -> a{-r3y-} {-# L #-} op{-r3D,x-} = _/\_ a{-r3y-} -> \ tpl_B1 :: {Foo{-r3u,x-} a{-r3y-}} {-# L #-} tpl_B1 -> tpl_B1 $mop{-rGC,x-} :: _forall_ [a{-r3y-}] => {Foo{-r3u,x-} a{-r3y-}} -> a{-r3y-} -> a{-r3y-} {-# L #-} $mop{-rGC,x-} = _/\_ a{-aHD-} -> \ d.Foo_aHw :: {Foo{-r3u,x-} a{-aHD-}} {-# L #-} d.Foo_aHw -> GHCerr.noDefaultMethodError{-8k,p-} _@_ (a{-aHD-} -> a{-aHD-}) _string_ "Class Foo Method op" f{-r3z,x-} :: _forall_ [a{-aGK-} b{-aGQ-}] => {Noo{-r3B,x-} a{-aGK-}} -> {PrelBase.Eq{-23,p-} b{-aGQ-}} -> a{-aGK-} -> b{-aGQ-} -> a{-aGK-} {-# L #-} f{-r3z,x-} = _/\_ a{-aGK-} b{-aGQ-} -> \ d.Noo_aGY :: {Noo{-r3B,x-} a{-aGK-}} {-# L #-} d.Noo_aGY d.Eq_aH0 :: {PrelBase.Eq{-23,p-} b{-aGQ-}} {-# L #-} d.Eq_aH0 -> let { d.Boo_aH2 :: {Boo{-r3o,x-} a{-aGK-}} {-# L #-} d.Boo_aH2 = scsel_NooShouldSucceedBoo{-aKl,x-} _@_ a{-aGK-} d.Noo_aGY } in let { d.Foo_aGW :: {Foo{-r3u,x-} a{-aGK-}} {-# L #-} d.Foo_aGW = scsel_BooShouldSucceedFoo{-aKD,x-} _@_ a{-aGK-} d.Boo_aH2 } in let { op_aMI :: a{-aGK-} -> a{-aGK-} {-# L #-} op_aMI = op{-r3D,x-} _@_ a{-aGK-} d.Foo_aGW } in let { op2_aMH :: _forall_ [b{-aGM-}] => {PrelBase.Eq{-23,p-} b{-aGM-}} -> a{-aGK-} -> b{-aGM-} -> a{-aGK-} {-# L #-} op2_aMH = op2{-r3A,x-} _@_ a{-aGK-} d.Noo_aGY } in let { op2_aMG :: a{-aGK-} -> b{-aGQ-} -> a{-aGK-} {-# L #-} op2_aMG = op2_aMH _@_ b{-aGQ-} d.Eq_aH0 } in \ x_r3j :: a{-aGK-} {-# L #-} x_r3j y_r3l :: b{-aGQ-} {-# L #-} y_r3l -> let { ds_dNv :: a{-aGK-} {-# L #-} ds_dNv = op2_aMG x_r3j y_r3l } in op_aMI ds_dNv end Rec }