2.2.3 Tradeoffs betwern generality and productivity