>>5
data Fix f =Fix (f (Fix f))
とすると、値コンストラクタFixは、ひとつの f (Fix f) 型の引数をとる

Fixはkindが (*->*)->*
fはkindが *ー>*
つまり、f自体が何かひとつの型引数をとるということ

fを[]とすれば
Fix::[Fix []] ー> Fix []

fをMaybeとすれば
Fix::Maybe (Fix Maybe) -> Fix Maybe

fを(,) a とすれば
Fix::(a, Fix ( (,) a ) ) -> Fix ( (,) a )