I'm trying to understand the design decisions behind Michelson and I'm in the process of evaluating if I should be writing my dapp in the Tezos blockchain.
What type of benefits does Michelson have over other smart contract languages(say compared to Ethereum's solidity)? What problems is it designed to solve and why should a developer choose Michelson?