I agree with @oliverlee 
Maybe add the case of 'isinstance(vec1, (Vector, Dyadic)) and vec2 == 0' ?