Скажем, я работаю над проектом, в каждом определении функции которого есть A <: Foo with Bar[A] with Baz[A]
, например:
def listSomething[A <: Foo with Bar[A] with Baz[A]](query: String): List[A] = ???
def readSomething[A <: Foo with Bar[A] with Baz[A]](id: Long): Option[A]
Возможно ли удалить это дублирование?Я пытался определить псевдоним типа, но это не сработало.Единственное, что я мог придумать, - это рассматривать их как члены абстрактного типа, но тогда мне пришлось бы превращать функции в черты, и, возможно, есть лучший способ.