I've built FP systems in a few languages, and I don't see them as a step change in ease of writing "good, modular" programs.
If you could tell me which aspect of FP you think does provide this big change, or link me to a discussion, I'd be very grateful!