semantic: Type most of the unary operations.