By free-form, you mean allow e.g. ``SphericalRepresentation(Latitude(...),Longitude(...)`` in addition to ``SphericalRepresentation(Longitude(...), Latitude(...)``?  I could see it either way, now that you mention it, but when writing this I was thinking that these would be regular positional arguments that just check to make sure they're valid (e.g., can't do ``lat=Longitude(...)``).  

To clarify, though, I don't think you should necessarily consider the representations to be "low-level" like the frame objects... for frames where the "natural" coordinate system isn't obvious, I think we want the representation objects to be easy enough to use that users can use them if their not sure what they should do otherwise.  That is, it should be ok to expect users to be interacting with representation objects.