utils: use container/list as chan buffer