I agree that dune is worse in many important ways than the build systems of languages like Rust and Go (where they were developed at the same time as the language, rather than 20 years later). But dune config files aren't lisp. They're s-expressions, which have the same syntax as lisp but are just static data like json/yaml/toml (and once you get used to them, I think most people prefer them to those).
It's fine to trade when you know something that the general public doesn't. Indeed that's really the only time you should trade: you presumably want to make a profit, and society wants relevant information to be incorporated into prices. The thing that's not fine is trading on secret information that belongs to someone else. Insider trading is about theft, not fairness. https://www.bloomberg.com/opinion/articles/2015-04-01/anothe...
You can get those cool features in languages such as OCaml/F#/Scala/Haskell, and then you don't have to worry about managing memory because you have a GC.
It's interesting that they have a much higher valuation (and from some cursory research, moderately more users) than Depop, despite (AFAIK) being completely obscure in the US/UK.
Yes, I think everyone would agree that OCaml has gone from competing with the predominant high-level language of 1996 (C) to the predominant languages of today (definitely not C).
Another factor is that creating a language (Rust, Go etc.) from scratch lets you have nice unified tooling to an extent that is probably just not possible with languages with baggage. So I doubt OCaml will ever manage to be quite as seamless as those, but IMO it's already gone from significantly worse tooling than e.g. Python/Java to significantly better, and is still improving all the time!
I think you are definitely pointing at something that has been a weakness of OCaml for a long time (but as you say is happily changing). But I wouldn't characterise it as elitism; IME the OCaml community is very friendly.
Instead, I think it comes from the fact that when it was first developed in the 90s, it was viewed in the context of C (and this attitude has carried over somewhat to the modern day where it makes much less sense). For example, building non-trivial projects with just the compiler is very painful from most modern perspectives, but it's very similar to what you have to do for C.
I am pretty sure anyone for whom the notation in `\forall n \in \mathbb{N}` presents a barrier to learning meaningful amounts of type theory will have greater problems from lack of mathematical background.
"But the argument thrives because there's a kernel of truth to it, in that if you wanted to pick a programming language based purely on expressive shininess, you'd write in OCaml."
Eh, I think OCaml is actually the least shiny language in its reference class: Haskell, Scala and Rust are all shinier.
I think that taste for languages varies a lot, and certainly plenty of excellent programmers find Go is to their taste and statically typed functional languages are not. But I think it's also true that there are lot of people who like Go with Java/Python/JavaScript as their only points of comparison, and who would actually prefer OCaml or F# if they tried them.