No need for outChans to be a global var (and in fact we're less concurrency-safe
when it is).
Using a pointer for the timeout value doesn't gain us anything here.