don't use generic/derived instance (it gives a black-hole?)