On Wed, 2 Mar 2005, Ben Lippmeier wrote:
You can play games with the type checker to force them to have the same
type without changing the "meaning" of your function.
fun1' f (Left x) = if True then Left (f x) else Left x
Left (f x) `asTypeOf` Left x
?