} else if (!is_type_real(type) && is_type_valid(type)) {
/* TODO: improve error message */
errorf(&expression->base.source_position,
"operation needs an arithmetic or pointer type");
} else if (!is_type_real(type) && is_type_valid(type)) {
/* TODO: improve error message */
errorf(&expression->base.source_position,
"operation needs an arithmetic or pointer type");