code: def compose(self, *args):
          
          args = list(args)
  
          def composed(*ar, **kwargs):
              lastRet = self.obj(*ar, **kwargs)
              for i in args:
                  lastRet = i(lastRet)
  
              return lastRet
  
          return self._wrap(composed)
docs: Returns a function that is the composition of a list of functions, each
          consuming the return value of the function that follows.