Coyoneda って…… お前 functor がデータ構造になっただけやんけ!!

operational (あるいは freer) と呼ばれているものの説明として,a) Coyoneda を使うと,kind が * -> * であるような任意の型から functor を作り出せる任意の型 f :: * -> * について Coyoneda f は Functor のインスタンスになるb) Free を使うと,任意の functor から monad を作り出せるFunctor のインスタンスである…