There are only two hard problems in computer science: Cache invalidation Naming things Asynchronous callbacks Off-by-one errors Scope creep Bounds checking