[Haskell] Separate Namespaces and Type Classes