distinct over gen.coroutine