On Fri, Mar 14, 2014 at 2:00 PM, Brandon Allbery <allbery.b@gmail.com> wrote:
On Fri, Mar 14, 2014 at 5:36 AM, Johan Tibell <johan.tibell@gmail.com> wrote:
I'm quite worried about this change though. I thought the default role for data type was nominal, as that's the safe default. If the default is representational, every package author will need to be aware of this feature and update their packages. That's quite a high cost.

Nominal default breaks everything that uses newtype deriving and doesn't have role annotations, doesn't it? Representational default means things behave in 7.8 as they did in earlier GHCs.

True, but shouldn't coerce be called unsafeCoerce then as it is, in fact, unsafe from a correctness perspective?