A go style channel implementation that works nicely with co