The tradeoff between adding new types and adding new functions.

  • In OOP, adding a new type is easy, but adding new functions for each new type is hard
  • In FP, adding a new function is easy, but adding new types that work with each function is hard