Sebastian suggests using some syntax other than pattern
matching to express the isomorphism involved in a newtype.
I can't see any advantage in this.
Further, Simon PJ claims that if someone has written
data Age = Age Int
foo (Age n) = (n, Age (n+1))
that we want to be able to make a one-line change
newtype Age = Age Int
leaving all else the same: in particular, no need to add
twiddles, and no changes of the sort Sebastian suggests.
I strongly support this! (No, Simon and I are not in collusion;
indeed, we hardly ever talk to each other! :-)
Cheers, -- P