Aha! After much investigation, I found my issue. It's not a SwiftUI bug, but rather what might be a subtle gotcha that others might also run into. I have some data structures that create some automatic unique random values using UUID() and they were causing swift to think that values had changed when rebuilding the views. So be very careful with that sort of thing.