There's a comment I get from my peers from time to time that boils down to: "Your code is tight and expressive, and the names are well-chosen, but it's ugly and it makes reviewers uncomfortable." And that's when I realized that functional programming, by its very nature, causes us to write visually unattractive code.
The human eye likes rhythm. Aesthetically pleasing visual arrangements often involve creating a sense of flow, a sense of time, and a sense of transition from one scene to the next. Repetition is a key element of beauty. Artists and musicians come up with motifs and set up the expectation of repetition, and then maintain, modify, or diverge from the repetition into a new landscape where a new repetitious motif must be established and maintained in order to sustain the impression of beauty.
This is utterly in contrast to DRY: Don't Repeat Yourself.
It's not all this bad. Well-written Haskell is actually very pretty to look at, but it's also daunting to realize that every word on the page is dense with meaning. It's also significant that Haskell's organization within a source file isn't sequential; the compiler hooks up all the definitions in the correct order regardless of their location. This gives the developer greater freedom to organize code into meaningful units, but it can also mean that understanding the file isn't as simple as reading it in order from top to bottom.