Why would it return the interface? If we were doing it all over we would always return the most specific type. This has nothing to do with compat.