Основной способ задать новый тип данных в Haskell — это использование конструкции data. Однако, есть ещё и newtype
. Практикующие программисты Haskell пользуются конструкцией newtype
постоянно, популярный линтер hlint
предлагает заменять data
на newtype
если это возможно.
Но почему?