Struct mutating temporary var needed?

The why did Swift folks implement Uri as struct? I thought, my Url behaves more like a non-reference object, like a string, than a class. And copy-on-write is what I want when "mutating"/modifying an Url instance.