Honestly, I think Swift is a pretty good ML-like on its own merits. A lot of the other options have snags that might make Swift look appealing.<p>Haskell is <i>really weird</i>. Even for someone reasonably experienced in functional programming, there are tons of new concepts you need to master to be minimally productive in the language. Beyond that, it introduces a whole new problem class of space leaks that you need to reason about. It&#x27;s not a bad language, but it is a much more radical leap from anything else you&#x27;re likely to have tried than Swift is.<p>OCaml is fairly verbose, still doesn&#x27;t have a great parallelism story AFAIK, and has a quirky type system (1.5 + 1.5 is a type error) and a not-very-well-loved standard library.<p>Rust can be pretty hard to use and not very ergonomic. If anybody&#x27;s first Rust stab at a Rust program doesn&#x27;t run into &quot;such-and-such does not live long enough,&quot; that&#x27;s pretty astonishing. You have to think about a lot more than with Swift.<p>F# is tied to .NET, which is sufficient to be unappealing for a lot of people.