Is this safe?  I would have thought that we can use the same tensor to assemble a different form as long as the function spaces match.  I think this means the following would fail:


```python

v = TestFunction(V)

f = assemble(v*dx)

# do stuff with f

f = assemble(Constant(2)*v*dx, tensor=f)

```

Now the second time f is v*dx, not 2*v*dx