Scala Literales funcionales con implicidades

Perdóname si esto ya se ha preguntado en otra parte. Tengo una pregunta de sintaxis Scala que involucra valores de función y parámetros implícitos.

Me siento cómodo usando implicits con la función de curry de Scala. Por ejemplo, si tuviera una función de suma y quisiera hacer que el segundo argumento sea implícito:

scala> def sum(a: Int)(implicit b: Int) = a + b
sum: (a: Int)(implicit b: Int)Int

¿Hay alguna forma de hacerlo utilizando la sintaxis de valor de función? Ignorando lo implícito por un momento, normalmente escribo valores de funciones curriculares como este:

scala> val sum2 = (a: Int) => (b: Int) => a + b
sum: (Int) => (Int) => Int = <function1>

Sin embargo, la firma de la función en el segundo enfoque es muy diferente (el curry se expresa explícitamente). Simplemente agregar la palabra clave implícita a b no tiene mucho sentido y el compilador también se queja:

scala> val sum2 = (a: Int) => (implicit b: Int) => a + b
<console>:1: error: '=>' expected but ')' found.
       val sum2 = (a: Int) => (implicit b: Int) => a + b
                                              ^

demás, la aplicación parcial de la suma desde el primer enfoque para obtener un valor de función también causa problemas:

scala> val sumFunction = sum _
<console>:14: error: could not find implicit value for parameter b: Int
       val sumFunction = sum _
                         ^

Esto me lleva a creer que las funciones que tienen parámetros implícitos deben tener dichos parámetros determinados cuando se crea el valor de la función, no cuando el valor de la función se aplica más adelante. ¿Es este realmente el caso? ¿Alguna vez puede usar un parámetro implícito con un valor de función?

¡Gracias por la ayuda

Respuestas a la pregunta(3)

Su respuesta a la pregunta