I'm going to call BS on that unless they are hiding some new models with huge context windows...
For anything that's not boilerplate, you have to type more as a prompt to the AI than just writing it yourself.
Also, if you have a behaviour/variable that is similar to something common, it will stubbornly refuse to do what you want.
I think that giving the LLM an API to access additional context and then making it more of an agent style process will give the most improvement.
Let it request the interface for the class your using, let it request the code for that extension method you call. I think that would solve a lot, but I still see a LOT of instances where it calls wrong class/method names randomly.
This would also require a lot more in depth (and language specific!) IDE integration though, so I forsee a lot of price hikes for IDEs in the near future!