optimization of the use of statementList: many1 -> many, option [] statementList -> statementList
optimization of the use of sourceElements: many1 -> many, option [] sourceElements -> sourceElements