foldl1 :: MonadPlus m => (a -> a -> a) -> m a -> m a
foldl1 step fetch =
  do
    !start <- fetch
    foldl step start fetch


foldl1 :: MonadPlus m => (a -> a -> a) -> m a -> m a
foldl1 step fetch =
  do
    !start <- fetch
    foldl step start fetch


foldl1 step fetch =
  do
    !start <- fetch
    foldl step start fetch

