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.