In Haskell programming language, a newtype declaration creates a new type in much the same way as data.
What is the difference when I write this? data Book = Book Int Int versus newtype Book = Book (Int, Int) -- "…
haskell types type-systems newtype