Month 2: Wait, Underflow / overflow ? I thought they can not cause problems.
Month 3: But, I should upgrade my contract ? Because it contains already ether and I forgot to implement an etherTransfer function ?
Month 4: Cool, I have some upgrade patterns, but they cost too much ether.
Month 5: Ooh, msg.sender, tr.origin, contract in the middle attacks ?
Month 6: Or, Fallback function ? Reentrancy ?
Month 7: Hmm, A transaction is always atomic, right ? So what is with address.transfer or address.call.value ?
Month 8: And, Libraries, Delegate calls ?
Month 9: Hence, Stack, call stack attacks and front running?
Month 10: So, How about just reusing some ready libraries ? Like OpenZeppelin ?
Month 11: Or, Formal verification, bug-bounty, military programming ?
Month 12: No, I can not program in Solidity !