https://123dok.net/document/zgw9dnl8-towards-principled-compilation-of-ethereum-smart-contracts-sok.html