Earlier quoted context omitted.
My hot take is that if you can automatically detect meaningful bugs or author fixes, you need to level up your abstraction. I think these things make the most sense for Java and Go where there tends to be lots of repetition and lower-order programming patterns. Unlike say, Python, Lisp, or Rust.
I’ve never programmed in Java or Go in any serious context. What do some of those repeated patterns look like?
Lots and lots of getters and setters in Java.