¿El método de toma implícita de CanBuildFrom no funciona con eta-expansion?

Tengo un método siguiente:

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
}

Ver:Método que toma Seq [T] para devolver String en lugar de Seq [Char] por razones Funciona como un encanto en el primer caso, pero no se compila en el segundo:

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

Dando

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

¿Alguna idea de cómo mejorar esta declaración para evitar envolturas adicionales? Parece que la expansión eta es el problema (?)

Respuestas a la pregunta(2)

Su respuesta a la pregunta