In a cothread-based container, all elements are run as cothreads. Chain-function based elements are wrapped by a generic element-class function that just calls the chain function repeatedly after pulling a buffer for it. (in reality, chain functions are only usable in the single-input case)