-
Notifications
You must be signed in to change notification settings - Fork 67
Open
Labels
Description
In scala 2, the following is ok:
import auto.semigroupK._
implicitly[SemigroupK[Lambda[x => List[Set[Option[x]]]]]]
but the following in scala 3 does not compile:
import auto.semigroupK.given
summon[SemigroupK[[x] =>> List[Set[Option[x]]]]]
Naming and explicitly calling
given foo[F[_], G[_]](using F: Or[F]): DerivedSemigroupK[[x] =>> F[G[x]]] =
F.unify.compose[G]
foo[List, [x] =>> Set[Option[x]]]
does work however.
I see the scala 2 version uses Split1
from Shapeless. Maybe we need something similar here?