There is a bug in extensible arrows. The syntax of extensible arrows
is:
\xleftarrow{below}{top}
but when the optional argument is used
\xleftarrow[small]{A}{B}
then A ends up on the top and B on the bottom.
The "x" commands change the position of both texts and when you change
the instance for the command the reversed order is overwritten (search
for
the order key in math-stc.mkvi).