@hyc @nxadm @dalias This is a different aspect of the same point but IMO go is fundamentally unserious at the language level because it focuses on a notion of "simplicity" that makes all complexity the programmer's problem, and failure to handle it their fault.
e.g. we had no excuse for `nil` after the Java/C# era, but go not only has it, it has to twist itself in knots because having `nil` means that, e.g. your type must have a zero-value, it can't have any RAII invariant, there has to be a well-defined answer to things like "what happens if you await a nil channel receiver" (we block forever)
I can appreciate that people are getting sick of the Rust team's political and design decisions, but the technical foundation that lets you use "values as certificates" is a vast improvement over almost every other language going.