[Haskell] Passing typeclasses as parameters?