A famous quote by Phil Karlton reads, "There are only two hard things in Computer Science: cache invalidation and naming things." Leaving aside cache invalidation, which we can return to another time, why should naming things be so hard? Giving names...