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.