1. Select order is not guaranteed, always check if the context has been canceled explicitly. 2. Never close a work channel unless we're actually done. This can yield out-of-order results due to buffering.