It's fairly elegant, although it has some annoyances (for instance, as on most RISC architectures, you can't load a register with an immediate value the size of the machine word - ARM makes you do it a byte at a time.) Still, some of its nice features (like the built-in barrel-shifter that can be applied to any operand) are astonishingly good.