Actually, I think Rust is a godsend to startups for the following reasons: 1.) startups rarely have time, expertise or budget for extensive unit tests, mock-up tests, UI-automation tests or paid third-party Q/A services, 2.) software product users these days have a strong tendency never to submit bug reports or work with product support, but instead just leave negative reviews and/or just move on to the competition, 3.) when an MVP actually does get a chance to grow in size and complexity, startups hit the growing pains of efficient problem report accumulation, recognition (troubleshooting, often with a non-technical third-party), prioritization and resolution.

Every programmer who has ever maintained a product of 100,000+ lines-of-code will tell you the same thing: shift as much responsibility as possible on the compiler (and the API consumption boundaries). Fixing code due to a bug with memory management, unexpected mutation, multi-threading, etc. will cost you 10 times the effort required to write that code in the first place.

Just IMHO.

What makes Rust better for these attributes than any other statically typed language with immutable data structures?

It sounds like Ocaml would do just as good of a job here.

Ocaml to this day has issues on Windows. Its a phenomenal tool, but adoption is always going to be hampered while the world's dominant desktop OS is a second class citizen for that tool.

Just like most languages that are UNIX first, like Rust.

No, not really. Rust undoubtedly started on *nix, but all Tier 1 platforms are supported equally[1]. To quote from OCaml's main site[2] A gentle reminder that if you do not need Windows binaries, then a more stable option is to use WSL2, ie when on Windows it is better to use OCaml from within a Linux VM.

Ocaml is great, but its Windows support sucks, and that makes adoption hard in a lot of contexts.

[1] https://doc.rust-lang.org/beta/rustc/platform-support.html

[2] https://www.ocaml.org/docs/ocaml-on-windows

Any language that calls themselves systems programming language, on Windows, must have first class support for COM and WinRT, in their various workloads.

Rust support for them is pretty much WIP.

And then there is the whole matter that Windows shops love to ship binary libraries.

There has been a Microsoft supported Rust projection of WinRT for a few years now [1].

[1] https://github.com/microsoft/windows-rs