X10

When inferring the return type, we should consider overriding methods and HasType.