================================================================================ Desugared: Rec { f{-r3v,x-} :: _forall_ [tayV taz7 taza tazl] => [tayV] -> (taz7, taza) -> PrelBase.Bool{-34,W-} -> [tazl] {-# L #-} f{-r3v,x-} = _/\_ tayV taz7 taza tazl -> _letrec_ { f_ayi :: [tayV] -> (taz7, taza) -> PrelBase.Bool{-34,W-} -> [tazl] {-# L #-} f_ayi = \ ds_dDX :: [tayV] {-# L #-} ds_dDX y_r3d :: (taz7, taza) {-# L #-} y_r3d ds_dDY :: PrelBase.Bool{-34,W-} {-# L #-} ds_dDY -> let { fail_dEj :: [tazl] {-# L #-} fail_dEj = case y_r3d of { PrelTup.(,){-62,w-}{i} y_r3h ys_r3i -> let { z_r3j :: PrelBase.Bool{-34,W-} {-# L #-} z_r3j = ds_dDY } in let { a_r3g :: (taz7, taza) {-# L #-} a_r3g = y_r3d } in let { x_r3f :: [tayV] {-# L #-} x_r3f = ds_dDX } in PrelBase.[]{-5i,w-}{i} _@_ tazl;} } in case ds_dDX of { PrelBase.:{-55,w-}{i} ds_dEq ds_dEr -> fail_dEj; PrelBase.[]{-5i,w-}{i} -> case ds_dDY of { PrelBase.False{-58,w-}{i} -> fail_dEj; PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ tazl; }; }; } in f_ayi end Rec }