Есть ли в Scala сокращение для сокращения арности универсального типа?
Я хочу позвонить Скалазуpure
способ положить значение в государственную монаду. Следующие работы:
type IntState[A] = State[Int, A]
val a = "a".pure[IntState]
a(1)
(Int, java.lang.String) = (1,a)
Я также могу исключить псевдоним типа (спасибо Scalaz's Pure.scala):
val a = "a".pure[({type T[A]=State[Int,A]})#T]
a(1)
(Int, java.lang.String) = (1,a)
Но это очень неуклюже. Есть ли более короткий способ синтезировать подобный тип? Как и синтаксис заполнителя для литералов функций, есть что-то вроде:
"a".pure[State[Int, *]]