I do like the convention of methods returning a value, or mutating the object, but not both. Turns it has a name: https://martinfowler.com/bliki/CommandQuerySeparation.html