Simple rules for building abstractionsTwo practical rules that help keep abstractions useful without overengineering.