Fix Matrix.set

I honestly don't really know why the Matrix is implemented using the private `_register`, but it **can't** work the way it's currently implemented.

`.set` needs to return this, otherwise `.multiply` **can't** return this (same with ``.transpose``).

(please see my other PRs)