>>36
Typical answer to all kinds of Haskell errors is:
http://stackoverflow.com/questions/5529332/occurs-check-cannot-construct-the-infinite-type-a-a
"Think about lines one to five. What do you want to archieve? Your approach is very strange. I don't see through your code, but I think I have an idea about what you try to do. Try to give your functions type-signatures, then you will see wuickly, what's going wrong."
And this "cannot construct the infinite type" appears to be the Haskell version of "segmentation fault"