Interesting question, here is my take on this:
arcsin(arccos(arctan(tan(cos(sin(9°))))) works as is only with non-typed arguments and results.
Else I would say that it depends if the typing is strong or weak. So it’s a designer’s choice
With strong typing, then
arcsin(arccos(arctan(tan(cos(sin(9°))))) is not valid, but I would expect it would be easy to add or drop a type to/from a value through built-in commands.
With weak typing, I would expect that if the argument of a trigonometric function expecting an angle (such as SIN, COS, TAN) is a real number not typed as an angle (such as 9°), the trigonometric function will consider it as an angle expressed in current angle mode. And a trigonometric function expecting a real argument would convert a typed real (such as an angle) to a real by dropping the type, with maybe a warning message. In such case it would be nice to have a flag to enable/disable such warning messages.