Override finalResultType in SingleType.

Otherwise we get unintended widening if a method's result is
a singleton type.