examples of mutating and not mutating the caller