Есть ли более идиоматический способ реализовать следующее? Я чувствую, что мне не хватает средств, чтобы избавиться от лямбды, но не смог понять, как преобразовать его в бесконтактный. Может быть, есть еще один неприменимый способ, который более прямой?
import Data.Maybe
import Control.Applicative
foldl (\x y -> pure (+) <*> x <*> y) (Just 0) [Just 3, Just 4]
-- Just 7
foldl (\x y -> pure (+) <*> x <*> y) (Just 0) [Just 3, Just 4, Nothing]
-- Nothing