code: def compose(*functions):
      
      return functools.reduce(lambda f, g: lambda x: f(g(x)), functions, identity)
docs: Function composition on a series of functions.
  
      Remember that function composition runs right-to-left: `f . g . h = f(g(h(x)))`. As a unix
      pipeline, it would be written: `h | g | f`.
  
      From https://mathieularose.com/function-composition-in-python/.