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