unary has a more general type