This would be a perfect use case for `par_loop` fusion if we had it. Alternatively I think you can avoid one copy by doing:
```
neg = -self
neg += other
return neg
```