not that big of a deal, but this might look better:

```
from sympy.utilities.misc import filldedent
msg = filldedent("Expected an instance of %s, "
    "but received object '%s' of %s." %
    (type(want), other, type(other)))
```


And then call this error with an instance rather than the str. This has the advantage of giving the path to that object, too, e.g.

```
raise VectorTypeError(other, ReferenceFrame(''))

for example

>>> want=ReferenceFrame('')
>>> other=''
>>> msg = filldedent("Expected an instance of %s, "
...     "but received object '%s' of %s." %
...     (type(want), other, type(other)))
>>> raise ValueError(msg)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError:
Expected an instance of <class
'sympy.physics.vector.frame.ReferenceFrame'>, but received object ''
of <type 'str'>.
```

I trust your judgement, however. Modify at your discretion.