InstanceSigs -- rationale for the "must be more polymorphic than"

Merijn Verstraaten merijn at
Mon Sep 20 08:26:24 UTC 2021

> On 18 Sep 2021, at 04:29, Anthony Clayden <anthony.d.clayden at> wrote:
> "InstanceSigs is a mis-feature. Don't use it. It is less confusing to just give no signature at all. If you really, really want to bind tyvars, use PatternSignatures."

I would strongly disagree with this statement. I think instance signatures are a perfectly fine feature for the very simple case of "I want type signatures on my bindings, because I've got better stuff to do than memorising signatures or doing type inference in my head."

Does that mean they are superfluous, as your initial email suggests? Well, kinda, in the same way that "adding type signatures to top level bindings" is *technically* superfluous, but I still have those on all my top level bindings.

Characterising the extension as a miss-feature in the user guide seems weird for a perfectly usable and useful extension.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <>

More information about the Glasgow-haskell-users mailing list