I checked the docs and tested invert/identity and they all work as expected.
it will never return a string- as the docs say it will return an instance of its self.
for assignment you can use slicing if you want to modify the matrix in place.
If so, then that wasn’t clear in the documentation and is also kinda weird. I dont know, it only worked if I printed it with the argument actually being the function call.