The relevant keyword if you want to learn more here is "equirecursive types".
(For those who don’t know, the parent poster wrote and maintained a lot of nice Haskell Libs at one point)
(For those who don’t know, the parent poster wrote and maintained a lot of nice Haskell Libs at one point)