Then there's CPU registers! Even if stackmachines look more elegant to me...
RAM is relatively-extremely slow so optimizing compilers try to keep all the data they can in CPU registers. At which point a late lowering pass needs to decide which CPU registers those corresponds to.
Which is roughly equivalent to The Map Colouring Problem, meaning there's no good way to compute it. We have to rely on hueristics & fallbacks to stack.
As always lowering yields messiness to cleanup.
6/6 Fin!