Ah -- I think I can see the use case passing a unit in both the `value` and `unit` argument is ok, and that `unit` would take precedence, if provided.

But since you asked, when enabling the strict check that enforces a unit in only one place, the `test_create_coordinate` test fails when initializing an `ICRSCoordinates` object, because it creates a `Dec` object using a string initializer with `degrees` in it, but it passes a unit of `hr`.  However, that might all be moot if we just allow this.

Thanks for pointing that out about `to`.  I think it `Angle.to` should return an `Angle` -- the current behavior in this PR is a bug IMHO.