Set a は a がOrdのインスタンスである必要があるけどそれでもFunctorにできるの?
http://www.randomhacks.net/articles/2007/03/15/data-set-monad-haskell-macros
みたいにゴニョゴニョするしかないの?