specify type arg inference for contravariant types