やさしい Haskell 入門を今見ているんですが
4.4 遅延パターン
http://www.sampou.org/haskell/tutorial-j/patterns.html
での最初の例
reqs = client init resps
resps = server reqs

client init (resp:resps) = init : client (next resp) resps
server (req:reqs) = process req : server reqs
がどういう意味なのかさっぱりわかりませんorz
どうして↑がだめで
client init resps = init : client (next (head resps)) (tail resps)
だとOKなんでしょうか?