[Haskell] indirectly recursive dictionaries