もし >>181 であってるなら、 wxHaskell の場合、
Attr (Window a) (Maybe INavigatable)
というAttrを作ってやれば実現できそう。 で、INavigatableには何か色々持たせる。

問題はどうやって そのAttrを作るかだけども、方法は分からなかった。
http://hackage.haskell.org/packages/archive/wx/0.12.1.6/doc/html/Graphics-UI-WX-Attributes.html
あるいはwx-coreに手を入れる必要があるかもしれない。

多態性カッコイイ!任意の型を扱えるのカッコイイ!
ってなるのはわかるけど、そんな機能は無くてもやりたい事を実現できるかもよ、と言いたい。