Ensures the result of funResultTy is consistent with unification.

The previous version of funResultTy wouldn't return

    funResultTy ANY _ = ANY

as unification hints, so the new behavior is less surprising.

This change is mutually exclusive with https://github.com/haskell-distributed/rank1dynamic/pull/3.