[Haskell] reflection/metadata in Haskell?