[Haskell] controlling the scope of instances