Might be worth reading http://lukepalmer.wordpress.com/2010/01/24/haskell-antipattern-existential-typeclass/

Especially in the context of guis and widgets.

Ben