... and my third refactoring with Cursor changed some function calls that I didn't want it to modify. Subtle.
I've had the most success with AI coding tools when I know exactly what I want the output to look like.
When you start a greenfield project, there will be parts of your code that you write and will never need to modify again.
It's weird, and I don't think this phenomenon really occurs in established projects.
Smalltalk has a remarkable method named #become: that allows you to modify all pointers to a given object to point to a different object!
https://gbracha.blogspot.com/2009/07/miracle-of-become.html
This goes even further than updating instances when a class changes, it's changing instance references.