+================================================================================
+Desugared:
+f{-r3i,x-} ::
+ _forall_
+ [rlg{-aG9-} t{-aGm-}]
+ =>
+ {PrelBase.Eq{-23,p-} rlg{-aG9-}}
+ -> rlg{-aG9-}
+ -> rlg{-aG9-}
+ -> rlg{-aG9-}
+ -> [t{-aGm-}]
+{-# L #-}
+f{-r3i,x-} =
+ _/\_ rlg{-aG9-} t{-aGm-} -> \ d.Eq_aGr ::
+ {PrelBase.Eq{-23,p-} rlg{-aG9-}}
+ {-# L #-}
+ d.Eq_aGr ->
+ let {
+ ==_aIv ::
+ rlg{-aG9-} -> rlg{-aG9-} -> PrelBase.Bool{-34,p-}
+ {-# L #-}
+ ==_aIv =
+ PrelBase.=={-8Y,p-}
+ _@_ rlg{-aG9-} d.Eq_aGr } in
+ let {
+ d.Eq_aGt ::
+ {PrelBase.Eq{-23,p-} rlg{-aG9-}}
+ {-# L #-}
+ d.Eq_aGt =
+ d.Eq_aGr } in
+ let {
+ /=_aIu ::
+ rlg{-aG9-} -> rlg{-aG9-} -> PrelBase.Bool{-34,p-}
+ {-# L #-}
+ /=_aIu =
+ PrelBase./={-ray,p-}
+ _@_ rlg{-aG9-} d.Eq_aGt
+ } in
+ \ x_r3d ::
+ rlg{-aG9-}
+ {-# L #-}
+ x_r3d y_r3f ::
+ rlg{-aG9-}
+ {-# L #-}
+ y_r3f z_r3h ::
+ rlg{-aG9-}
+ {-# L #-}
+ z_r3h ->
+ let {
+ fail_dJa ::
+ [t{-aGm-}]
+ {-# L #-}
+ fail_dJa =
+ GHCerr.patError{-8r,p-}
+ _@_ [t{-aGm-}] _string_ "ds021.hs:5|function `f'"
+ } in
+ case
+ ==_aIv
+ x_r3d y_r3f
+ of {
+ PrelBase.True{-5E,p-}{i} ->
+ PrelBase.[]{-5i,p-}{i}
+ _@_ t{-aGm-};
+ PrelBase.False{-58,p-}{i} ->
+ case
+ /=_aIu
+ x_r3d z_r3h
+ of {
+ PrelBase.True{-5E,p-}{i} ->
+ PrelBase.[]{-5i,p-}{i}
+ _@_ t{-aGm-};
+ PrelBase.False{-58,p-}{i} ->
+ PrelBase.[]{-5i,p-}{i}
+ _@_ t{-aGm-};
+ };
+ }