implements every unary operator kind