Bottom-up design is the creation of little stand-alone components that can be understood in isolation and, when written abstractly, perhaps useful in multiple contexts.  I find that pure FP languages ease bottom-up design because of the lack of shared mutable state and their strong support for composition.