Hmm... the idea of the function is fine, but this really is specific to `SphericalCoordinatesBase` classes, so it seems odd to me have it `float free` in coords.

Actually, an overall better approach might be to have `SpericalCoordinatesBase` have a metaclass, and have it use class attributes to fix up the docstring and the initializer.  I thought about doing this when I was implementing it all, but decided it wasn't necessary because I didn't realize @adrn would be dilligent enough to right away implement a custom coordinate class :)