 The ability to easily compose functions encourages factoring (breaking apart) functions for maintainability and code reuse.More generally, big systems might be built by composing whole programs.Narrowly speaking, function composition applies to functions that operate on a finite amount of data, each step sequentially processing it before handing it to the next.