On Sat, May 1, 2010 at 12:23 AM, Ivan Lazar Miljenovic <ivan.miljenovic@gmail.com> wrote:
Hmmm.... this is an interesting way of doing it, but I would argue that
it's pointless: the fact that you're using MPTCs doesn't give you
anything extra that the original class.  Furthermore, as I said earlier,
it doesn't make sense to constrain the label type just to make an
instance of a type class.

(Now, if we had other functions in there which _might_ depend on the
label types, this _would_ make sense; as it stands however, it doesn't.)

Try removing "Cls a" from the instance.  You'll notice that my empty does depend on a having a Cls instance because it will fail to compile.  In other words, I don't understand what you're talking about.  I did need the constraint to define my instance.

And if that example gets boring, try making an instance of Set for Monad.  Then re-read the article I linked from Oleg's website.  I'm not understanding your point, and I suspect you're not understanding mine :)

Jason