This may sound silly in the context of this project, but have you considered a @Value.Mutable annotation? I'm interested in taking advantage of the code generation for mutable data objects as well. I'm aware of the copy methods, but I would have many rapid "mutations" to make to the object and creating a new object for each one would be ill-advised on Android, where we must be sensitive to GC pressure.