Hi, I created an environment where I override the & character to be active and use it as a macro (rather than an alignment character). I am now running into the issue, that theoretically the user might not pass an optional argument and also use the & token as the first character inside the environment. In that case the token is interpreted as an alignment character. The environment in question is currently defined with: \NewDocumentEnvironment { sdapsarray } { o } Now, this is a very rare corner case for me, and I am happy to simply document the limitation. But, I do wonder whether this may be considered a bug in the optional argument parser. Benjamin PS: This is in my custom SDAPS array environment (which is weird in a number of regards) https://sdaps.org/class-doc/sdapsarray.html#\sdaps_array_newline%3a shows the example with a workaround (last one on the page) Failing code is: \begin{sdapsarray} & col 1 & col 2 \\ row header 1 & cell1 & cell 2 \end{sdapsarray} while either: \begin{sdapsarray}[] & col 1 & col 2 \\ row header 1 & cell1 & cell 2 \end{sdapsarray} or \begin{sdapsarray} {} & col 1 & col 2 \\ row header 1 & cell1 & cell 2 \end{sdapsarray} works fine.