I think, type inference is a poor man's model checking. And it makes exactly as much sense as your model does. There is no such thing as a universal model. https://wordsandbuttons.online/static_typing_isnt_free.html
Adding scalar and a vector may be a breach of model but it may also have several different meanings each of them pragmatic in its own context. It may mean concatenation, as with C++ strings or adding the same scalar to every vector's element as with APL tensors.
Geometric algebra imposes its own type relations and has all the rights to do so.