[Haskell-cafe] Occurs check: cannot construct the infinite type - but it doesn't need to