Georgi Krastev
Georgi Krastev
Why do we even need `Coproduct`? It can easily be replaced by `OneOf[Tuple]` and an integer.
Of course - `Equal` is contravariant so both `Equal[Int]` and `Equal[String]` are more specific than `Equal[Nothing]`.
> and Scala 2 does something similar under -Xsource:3.0 Oh cool, I didn't realize it was back ported. I guess this is only 2.13 though. Maybe it's reasonable to expect...
There is a third option - neither depends on the other, instances live in their own module.
The logical conclusion of that approach would be to extract assertions and validations to a mini library. After all there is no reason for them to depend on zio.
Note that users of the library don't have to use kind-projector. It's also supported in dotty with `-Ykind-projector`: https://dotty.epfl.ch/blog/2020/02/05/22nd-dotty-milestone-release.html#kind-projector-syntax-support
I will just weigh in my opinion as a user - I think changing the behaviour in this way has the potential to break too many tests. Also the current...
What was `A` that you tried to derive for?
Thanks for the minimisation, I assume this is rather a problem with magnolia itself. I can't recall how well it supports GADTs.
If you are using Cats / Cats Effect you can just do `nel.traverse` etc.