It wouldn’t hurt to ease up a bit here, no need for “all of you” and “you all”, I see two people (Jducoeur and ichoran) who have mentioned getting bitten by the inconsistent behavior of destructuring in for comprehensions, and reading this same thread you will see people mention the behavior isn’t consistent with destructing in another context, so maybe the inconsistency trips them up from time to time.
Have you never had a mental hiccup? Ok, reading your post, it seems you have not, as you say you read a book on scala once and never used it incorrectly afterwords. That’s some seriously impressive skillz, Odersky wrote the language, sjrd wrote the scalajs compiler for it, jduceour spends all day teaching it, and ichoran spends all day improving the compiler for it, yet I know none of them has managed to “never use it incorrectly” as I have seen prs for their bugs
Your post comes across a bit as “feigned surprise” (https://jvns.ca/blog/2017/04/27/no-feigning-surprise/) although I’ll be charitable and hope you are not actually feigning it and maybe really think every Scala developer reads an 837 page book cover to cover, memorizes it, then never forgets a corner case in behavior. We don’t. And personally, after I have read the book and language specification, I still find myself trying to combine features in new ways even if someone hasn’t told me how they work together, and try to reason about them based on what I know about the features from previous exposure to them. I enjoy it, and sometimes I get it wrong, but other times I learn something new. I don’t have a photographic memory, or even a particularly good memory, which is one of the things I enjoy about Scala, the types help me out when I forget things.
So even though I wasn’t one of the original people who said “I get bit by destructuring in for comprehensions” let me introduce myself, my name is Shane, I’m a Scala developer, and I did not read Programming in Scala before starting to write Scala code and I don’t always wait for someone to teach me how to use a feature before trying to exercise it in new ways. Instead, I played around with it, read some fun blog posts by Daniels Westheide, then once I realized I really liked the language, did in fact read Programming in Scala, and have since forgotten many details from it. We all come from different backgrounds and there is no reason to think the way I learned Scala is inferior to the way you learned it, nor to think that if I learned it the same way as you did, I would never use it incorrectly.