1. I think this should be a `ValueError`. From the point of view of the original operation `cube.aggregated_by(...)` there's nothing wrong with the types of any of the arguments.

2. I think the `{0}` would be nicer as `{0!r}` to make the name stand out more. e.g.
```
TypeError: The unknown coordinate ...
```
becomes:
```
TypeError: The 'unknown' coordinate ...
```