replace singel coroutine type by coroutine<>::pull_type/push_type