Why this parser fails and how to fix it?

```hs
λ> str1 = string "elif "
λ> str2 = string "else "
λ> strs = (,) <$> many str1 <*> optionMaybe str2

```

```hs
λ> parse strs "" "elif elif elif else "
Left (line 1, column 16):
unexpected "s"
expecting "elif "

```

How to combine a `many` parser and an `optionalMaybe` parser?