Let's accept your basic premise, that it provides a meaningfully strong positive filter.
We only get better software if the people who don't pass the class proceed to not write software, as opposed to writing software anyway without the training available in the following courses (and presumably writing worse software) or being replaced in industry by others who could not have passed that filter.
If neither of those happens then we presumably will have better software. We will also have less software. It's not clear whether that trade-off is the right one.
I believe (based on exactly zero hard data) that FP fits the way some peoples' minds work, and procedural fits how other (many more) peoples' minds work. The ability to pass a Haskell class is not the same as the ability to program competently in at least one language.