take!, put!, do-alts return derefable vals rather than callbacks, blocking support implemented, ioc todo