> Its actually fine to add to Boom, no kittens will be harmed, but I understand the hesitance.

Since this is not technically a function, I feel like it should be well-behaved when you call it multiple times, even if there's no way we'd ever do that in practice.  So I think I'll go ahead with keeping Boom pure and use the property-copying method above.