Метод взятия неявного CanBuildFrom не работает с eta-расширением?

У меня есть следующий метод:

def firstAndLast[CC, A, That](seq: CC)(implicit asSeq: CC => Seq[A], cbf: CanBuildFrom[CC, A, That]): That = {
  val b = cbf(seq)
  b += seq.head
  b += seq.last
  b.result
}

Увидеть:Метод, принимающий Seq [T] для возврата String, а не Seq [Char] для обоснования. В первом случае он работает как шарм, но во втором не компилируется:

List("abc", "def") map {firstAndLast(_)}
List("abc", "def") map firstAndLast

Предоставление:

error: No implicit view available from CC => Seq[A].
List("abc", "def") map firstAndLast

Любая идея, как улучшить это объявление, чтобы избежать дополнительной упаковки? Похоже, эта-расширение это проблема (?)

Ответы на вопрос(2)

Ваш ответ на вопрос