Tag: avoiding shallow copy pitfalls