make select() tolerate channels given as plain objects
add more interesting code to the transducers example