How is mutating func in a protocol helpful?

If you mutate a struct, you get a new copy of the struct, with the change - the original one goes away. [edit - that's not strictly true: Why are structs in Swift said to be immutable?]