When writing code, it is not only important that the code does what it is supposed to do, but also incapable of not doing anything that it’s not supposed to do. For smart contracts which live on forever on the blockchain, this cannot be more true. Those who fail to understand this get rekted.