Making the existential value a val instead of a def makes it stable which seems useful, though I don't have concrete example for where it'd be necessary.
Changing the unapply return type allows pattern matching to work in the case where F[_] is a GADT.
Making the existential value a
val
instead of adef
makes it stable which seems useful, though I don't have concrete example for where it'd be necessary.Changing the unapply return type allows pattern matching to work in the case where
F[_]
is a GADT.