<div dir="ltr"><div dir="ltr">On Tue, Dec 1, 2020 at 9:47 AM Alejandro Serrano Mena <<a href="mailto:trupill@gmail.com">trupill@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
        <div>
    Thanks for the illuminating discussion! I’ve been convinced that we should move away from DeriveAnyClass, and provide and start using ‘via Generically’ instead. Which happily also gets rid of DefaultSignatures, which I never liked due to the intimate bundling with the class declaration. <br></div></div></blockquote><div><br></div><div>This is a statement that I can't necessarily get behind. I've got enough experience with DerivingVia to say that it is a pretty esoteric extension. The error messages are pretty bad, and it's easy to get bitten by the lack of higher-order roles (see also: roles). But more importantly, it's simply difficult to grasp how to use this extension, it's its own language inside the language. DerivingVia is likely to remain very advanced Haskell for quite a while. Whereas DeriveAnyClass is rather simple, even if fraught with subtle traps like we've discussed here; hence probably not worth including in our first round of default where we rather want to stay conservative, until we have fewer extensions to consider and we can scrutinise them more carefully.<br></div></div></div>