Haskell の Functor について調べてたらこんなのを見つけた。 stackoverflow.com ここで挙げられているエクササイズを見てみると Functor の深さにめまいがしてちょっとだけウンコを漏らした。 2問目 Functor の composition をデータ型で定義しろという問題で、実装はこうなる。 {-# LANGUAGE TypeOperators #-} newtype (:.) f g x = Comp {comp :: f (g x)} instance (Functor f, Functor g) => Functor (f :. g) where fm…