I'm sure I am not the first to have remarked on this, but I'm finding that coding with copilot really rewards a good coding style in general. Like it has a much easier time filling in details thoroughly and correctly if I write a module "the most obvious way", and stick to non-clever, obvious 1-task functions with clear names, and equip each with a thorough comment explaining what it's doing and why. Which is the kind of work my better-self _wants_ to be doing all the time. The thing is just nudging me fairly hard to listen to that better self, because if I get too clever, terse or opaque in my work it'll stop helping.
(As a further aside, I think copilot is kinda a stroke of marketing genius in terms of encouraging a broad audience of programmers to pivot to building and hyping AI-for-XYZ products. I'm not sure if it was intentional or they just happened upon this use-case, but nothing is quite as convincing an argument as sustained direct interaction.)
@graydon I've heard some writers say similar things about ChatGPT - that it can be a useful partner if you pre-outline your thoughts and use ChatGPT to flesh that out, or to act as a very smart thesaurus, or very junior (must-be-checked) research-assistant. You have to be deliberate and specific, which *can* encourage good habits. But obviously also can go way off the rails.

@graydon I also try hard to write readable code, for myself and for others

I'm just a little uncomfortable with you calling it "your better self". Because the part of us that wants to flex our mastery, that wants to do clever and terse things, this is something that does give real joy. Even if it's bad for teamwork, it's not morally bad

@graydon i definitely agree. i struggle with being too clever, and i really like how it nudges me into boring code