haskell-data-fix: haskell-data-fix (Fixpoint data types) haskell-data-fix: haskell-data-fix: Fixpoint types and recursion schemes. If you define your AST as haskell-data-fix: fixpoint type, you get fold and unfold operations for free. haskell-data-fix: haskell-data-fix: https://hackage.haskell.org/package/data-fix haskell-data-fix: haskell-data-fix: haskell-data-fix: haskell-data-fix: haskell-data-fix: