Равенство объектов с GHC
Одним из самых поразительных ограничений Haskell (происходящих из нечистого функционального языка) является очевидное отсутствие какого-либо понятия "объектное равенство" или "ссылочное равенство". Так,
Это неотъемлемое ограничение реализаций Haskell, или это осознанный выбор дизайна с языком?
Есть ли какой-либо тип данных, либо в спецификации основного языка, либо в расширении GHC, который вызывает косвенное обращение к нормальному значению Haskell и предлагает ссылочное равенство?
Если это просто не вещь, каков общий способ обойти это ограничение?