Cyclic data structures can be created in Haskell, in large part due to laziness.
Using strict data types, I think you agree that cycles can not be created. Non strict data structures I agree can be seen as cyclic, but I prefer seeing them as infinite.