<div class="gmail_quote"><div>Perhaps what you are looking for is a more powerful &quot;defining&quot; semantics?<br><br>newtype MyFoo = Foo defining (Foo(..)) -- all class instances that Foo has are delegated through from MyFoo<br>
<br>Matthew<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">not sure if this is what you are thinking at, but everytime I wrap a<br>

type Foo in a newtype MyFoo to define my own instances (or just for more<br>
expressiveness code), I wish I had a way to tell the compiler:<br>
„Please define function myfoo to be the same as foo, with all occurences<br>
of Foo in its type signature replaced by MyFoo.“<br></blockquote></div>