A couple of consequential fixes

* It turns out lazy sometimes evaluates the CoW copy early. That's fine, but we have to take that into account.
* Touching .values or .array needs to force matrix assembly.