Typically you don't add a buffer unless there's a good reason, as it causes the semantics of channels change. As pointed out above, it becomes easy to create code that can deadlock under some conditions but not others.