1(゚д゚ )乙 これは乙じゃなくてポニーテールなんたらかんたら

自分も基礎的質問で申し訳ないが
Free Monadがらみの記事にあった
data Fix f = Fix (f (Fix f))
はどういう意味になるんでしょう?
data Fix f = FixC (f (Fix f))でもいいものだと思いますが、コンストラクタ引数のf (Fix f)がわからんとです。FixCに2つの引数を渡す?
でもそれだとdata Fix f = FixC f (Fix f)となるんでしたでしょうか?
二つの型を型引数としてもつ型を渡すという意味?
http://www.haskellforall.com/2012/06/you-could-have-invented-free-monads.html