But why do you want to modify in place? It seems like you'd be better of returning modified copies, which would be more in the spirit of the underlying immutable objects.