If foo.bar() mutates foo, it probably shouldn't also return foo. It violates the principle of least surprise when reading `baz = foo.bar()`