As seen in Alexej’s answer for this question, when running sequence on a Seq[Validation[X, A]] you need a boilerplaty explicit type parameters sequence[({type L[Y] = Validation[X, Y]})#L, Y].
The same need may happen with other datatypes / functions.
The questions related to eliminating the need for such explicit types via improving type inference are:
-
Is it theoretically possible to do in Scala?
-
If yes, is this on the Scala roadmap? When can the solution be expected?
-
If not on the roadmap, then is the solution easy / moderate / hard to achieve?
-
Can a mere human do anything to advance the case?
Any pointers regarding the issue welcome.
(Here is a slightly related issue, but not discussing the future perspective)
retronym says here What are type lambdas in Scala and what are their benefits? that a future version of scala could improve this. So I guess that it is possible to improve the syntax. But, as far as I understand, we are facing some impossibility in Scala due to subtyping