I'm not sure premise 1 is true. The most useful smart contracts so far are tokens and multisigs, and those are definitely simple enough to do right (if you don't make a major blunder like the Parity team did).
> if you don't make a major blunder like the Parity team
...Which was founded by the very person who developed the smart contract language Solidity. Which goes to show how difficult it is to write 100% bug-free smart contracts.