You can create a unbound channel with
(chan), but not if you use a transducer;
(chan nil (filter odd?)) will raise an error that no buffer is provided. Why is this the case?
Why the enforcement of all channels to be bound? In a program, there will be channels that propagate to other channels, so only channels at the boundaries would require to be bound?
Channel limits are also much dependent on the particular process and environment. How would we write generic code that creates channels, if those need to be bound to limits unknown?
Thanks,
Ernesto