make-pipe (head tail)
Constructs a pipe (lazy list).
The head expression is evaluated immediatelly. The value of head will be returned by pipe-head called for the pipe object returned by make-pipe. Evaluation of tail expression is delayed until pipe-tail is called for the pipe returned by this function. Evaluation of tail expression should produce a pipe or a list.