Expression.Assignment
type operator =
| PlusAssign
| MinusAssign
| MultAssign
| ExpAssign
| DivAssign
| ModAssign
| LShiftAssign
| RShiftAssign
| RShift3Assign
| BitOrAssign
| BitXorAssign
| BitAndAssign
| NullishAssign
| AndAssign
| OrAssign
and ('M, 'T) t = {
operator : operator option;
left : ('M, 'T) Pattern.t;
right : ('M, 'T) Expression.t;
comments : ('M, unit) Syntax.t option;
}