By "maths adornments" I mean things like \widehat (from the ams) and their ilk. Perhaps the following best illustrates what I mean:

Code to reproduce:
\documentclass{standalone}
\usepackage{amsmath}
\begin{document}
\begin{gather*}
A \widehat{\otimes} B \\
A \otimes B \\
A \mathbin{\widehat{\otimes}} B
\end{gather*}
\end{document}
Would it be possible to make \widehat (and others) "aware" of the type of their input? By "type" I mean whether the argument is a relation, operator, alphanumeric character, or ... are there any more? What it would do is to set itself to be the corresponding type. Thus, in my example above, \widehat{\otimes} would result in \mathbin{\widehat{\otimes}} whilst \widehat{A} would result in \mathalpha{\widehat{A}}.
I realise that there's a potential issue in that the input might be many characters, but for a single character it should be reasonably safe (and one could supply an optional argument to the augmented \widehat to override its choice if one disagreed).
(I just noticed this due to a fairly obvious spacing jump in a beamer presentation where I want to add a hat to a character on a slide. In the end, my transition command looked like:
\alt<3->{\mathbin{\widehat{\otimes}}}{\vphantom{\widehat{\otimes}}\otimes}
if one isn't bothered about spacing, one can write \only<3->{\widehat}\otimes.)