Better defchan, support arbitrary buffer expressions.