To be fair, ethereum has bytecode at its base- almost certainly someone will wrote a more declarative language on top of it now to help minimize the chance that unexpected calling trees can lead to unexpected behavior.
Also, the existing solidity language is pretty well designed, it's just a hard problem and an even better design may be needed.