Assertions with side effects are a source of problems.
They can cause the deployed program to behave
differently from the developed one.
An exhaustive check for assert statements not having
side effects might be difficult to implement - since it
involves exploring any called methods - however there
seems to be the possibility of a conservative check - e.g.
reject anything containing an assignment or method