«…it extends elegantly to implement the means of combination.»
—
Hal Abelson, talking about stream processing during the Structure and Interpretation of Computer Programs lectures. Watch them all for free!

I have always considered this to be one of the most important guiding principles/goals of good software architecture and composition.