[Haskell-cafe] Confusion with GeneralizedNewtypeDeriving + MultiParamTypeClasses