member typing and inheritance with use-site variance