I've been vibe-coding for weeks in Rust, and it works great.

I've been vibe-coding for a few days in Haskell, and I don't like the result.

Maybe I am just accustomed to being ok with verbose Rust, while Haskell comes with a great potential for elegance that the LLM does not explore.

Regardless, the argument that types guide the LLM in a very reliable way holds in both cases.

My experience with Haskell has been the same. The GHC provides stellar feedback, so the LLM is almost always able to bang the code into working order, but wow is that code bloated.