Hi All
It seems to me to be a free win just to replace:
`class Num a where`
with
`class Num (a :: (r :: RuntimeRep)) where`
And then one could define `Num` instances for unlifted types.
This would make it possible to avoid using the ugly `+#` etc syntax for operations on unlifted types.
`Int#` and `Word#` could have `Num` instances defined just as `Int` and `Word` already have.
I presume there's a reason why this hasn't been done, but I was wondering why?
Thanks,
Clinton