Something that always bugged me about Lean is how unreadable and unwritable.
Math uses extremely heavy notation to make statements concise. It's hard to learn the notation without a visual reference guide, sync the symbols don't have guessable names, but once you know what the symbols mean, it's readable.
Java is incredibly verbose but you can make out what it's saying word by word
Lean is line noise. It's like assembly language for math, which is great, but not what humans should be using day to day.
This Litex does a nice job of being concerned about humans reading and writing the code.
Do you have an example Lean statement you struggle with? I would have posed that they're "just" using standard math notation that should be explained in the relevant textbook for the math you're trying to formalize, but perhaps they are indeed cooking...
enumerate() is just an awkward way to get len(a). In theory, you could somehow be in an environment where you have dynamically resizing arrays (vectors) that don't track their length internally. But in this case it's probably because OP doesn't have a firm grasp what's happening (which is why they wrote the blog post).
As for "how": legislature passes a law against it like any other traffic law. Similar to jaywalking or prostitution (soliciting sex on the side of the road).
Some don't like it and many do, and it's been assigned for decades. Just a few years ago I looked at a website that collects college syllabi and it was one of the most assigned books.
It gives clear, practical advice in a very accessible style and format. If you have any comparable substitutes, I'm all ears.
I thought PP was saying that the "Thinking" text is only used for one turn, and the response text is the compressed thinking that survives into future turns.