Resumen de una lista de opciones con functores aplicables

Tengo una Lista [Opción [Int]] y quiero sumarla usando functores aplicativos. De [1] entiendo que debería ser algo como lo siguiente

import scalaz._
import Scalaz._

List(1,2,3).map(some(_)).foldLeft(some(0))({
    case (acc,value) => (acc <|*|> value){_+_}
})

Sin embargo, simplemente no puedo encontrar la forma correcta de escribir esto. Me alegraría si alguien pudiera ayudarme con esto.

Muchas gracia

[1] ¿Cómo combinar los valores de Opción en Scala?

Edita

Gracias por todas las excelentes respuestas.

Si hay ninguno en la lista, quiero que devuelva ninguno. Estoy tratando de reemplazar Null / Exception con Option / Either y ver si puedo producir algún código utilizable.

Algunas funciones llenarán mi lista y quiero procesarla lo más fácil posible sin verificar si uno de los elementos era Ninguno. Debería funcionar de manera similar a Excepciones, donde no tengo que verificarlo en mi función, pero dejar que la persona que llama se encargue de ello.

Respuestas a la pregunta(6)

Su respuesta a la pregunta