public Assign(Expr left, Expr right) { this.Left = left; this.Right = right; if (!this.Left.IsLValue) { throw new InvalidOperationException("Can only assign to lvalue."); } }