There is more we can do with Concurrent. This is my simple example to spur discussion. @jmcardon has expressed worry about it due to the inability to implement it in scalaz8 IO.
I think it's a non-starter to forgo the benefits of Concurrent altogether, and highly unpalatable to use something like the Priority pattern, requiring two paths. My hope is that all the effects people want to use can be made Concurrent, either through clever implementation or negotiation on the laws. Time is running very short on the latter for cats-effect-1.0.
Note re: ConcurrentEffect: Race is part of scalaz8 IO. It's definitely expressible in terms of it, it's the cancellable business that is not. The problem I have is with anything built off of cancellable and runCancellable, being that I still do believe it conflates resource safety with asynchrony really hard.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.