I really don't like this notation.  The presence of `x_arcsec` suggests to me that if I have data in degrees, I should also be able to pass in `x_degree`.  The variable should just be `x` and the unit specified in the documentation or in the function name, e.g., `sin_arcsec` vs `sin_degree` vs `sin_radian`.  (I'm not a fan of this second thing either, but if there is insistence...)

Moreover, if it is enforced that quantities or units are being used, then if a default unit is expected, the function should convert the input data itself.  If I have data that is in parsecs and I need to use two functions: one which expects light years and one which expects centimeters, I shouldn't have to do two conversions manually, the function should do it for me.

This would have the added benefit of the quantity object excepting if you can't convert from one unit to the default unit.