I'm a bit confused with type and newtype. It is said that newtype can contain only one field. I also find a post here.
But still not quite clear.
So if you want to declare different type class instances for a particular type, or want to make a type abstract, you can wrap it in a newtype and it'll be considered distinct to the type-checker, but identical at runtime.
Any example would be helpful. Thank you!