> I recently ran into this with a GUI application, where I needed toYour misconception is likely that you need to /store/ widgets, because
> process a list of widgets that were members of the same typeclass, but
> I had to wrap them all because they were different types.
you think in terms of memory. What you really need is /definitions/ of
widgets, which can very well have different types. Then you can combine
them using the usual monadic or applicative interface.