Fix型
定義
code:hs
newtype Fix f = Fix (f (Fix f))
https://ja.wikipedia.org/wiki/不動点コンビネータ#再帰型による符号化の例
型レベルで再帰させることで、Yコンビネータに型付けできる
https://blog.sumtypeofway.com/posts/introduction-to-recursion-schemes.html?#:~:text=nested%20Expr%20values.-,Fixed%20Points,-Consider%20the%20Y
https://ja.wikibooks.org/wiki/Haskell/不動点と再帰#データ型としての_Fix
https://ilyaletre.hatenablog.com/entry/2018/03/20/224320