the UK Post Office scandal would be the equivalent of the Morandi bridge collapsing - the big, catastrophic failure you hope to see few times in your lifetime.
but bridges collapsing is not the only failure mode for non software projects. I know plenty of newly built houses that had serious issues with insulation, wiring, painting, heating infrastructure, etc.
one thing that it's missing in JS to fully harness the benefits of immutability is some kind of equality semantics where two identical objects are treated the same
even when performance might not be an issue or an objective, there are other concerns about an user land implementation: lack of syntax is a bummer, and lack of support in the ecosystem is the other giant one - for example, can I use this as props for a React component?
yes, I'm aware of composites (and of the sad fate of Records and Tuples) and I'm hopeful they will improve things. One thing that I'm not getting from the spec is the behavior of the equality semantics in case a Date (or a Temporal object) is part of the object.
In other words, what is the result of Composite.equal(Composite({a: new Date(2025, 10, 19)}, Composite({a: new Date(2025, 10, 19)})? What is the result of Composite.equal(Composite({a: Temporal.PlainDate(2025, 10, 19)}, Composite({a: PlainDate(2025, 10, 19)})?
The claim I think you're referring to is in two parts:
1) They were willing to sell DDoS protection to DDoS services
2) This decision was made specifically because the existence of DDoS services increased the value of their product
This was always a weird claim, because the first part is 100% true -- while the second part was always unfounded speculation. The conclusion is thus most likely false. They just didn't want to incorporate that sort of thing into their ToS or vet their customers in that way, for various understandable reasons.