[Haskell-cafe] What am I missing? Cycle in type synonym declarations