1. 5
  1.  

  2. 1

    This is one of my favorite GHC extensions, but as a PSA: do not derive Generic for abstract types.

    You can play some clever tricks with generic to actually provide constructors. That’s how generic-church works. Actually @ocharles wrote a bit about this.