A Useful Software Primitive Should Be Easy to Explain and Hard to Replace