Scilla: a smart contract intermediate-level language