Question: Generics are useful when you **\_**.

  1. need to reduce code duplication by concretizing values and restricting parameters in functions
  2. need to reduce code duplication by abstracting values further, such as in function parameters
  3. need a supertrait
  4. are not sure if you need a specific kind of trait

Answer: The correct answer of the above question is Option B:need to reduce code duplication by abstracting values further, such as in function parameters