This is my experience, too. Some of the worst code I‘ve seen was a Haskell guy who first built his own (reactive?) concurrency framework and then implemented the actual functionality in completely unidiomatic and undocumented Java.
Some people don’t understand that the „best solution“ is not necessarily equal to the most beautiful abstraction they can think of.
But I have to be fair, whenever I see a demand for "idio(ma)tic code" I know that this is a place to avoid, no matter if they are imperatively or functionally inclined.
Some people don’t understand that the „best solution“ is not necessarily equal to the most beautiful abstraction they can think of.