code: def compose(f0, *fs):
      """Composes a sequence of functions.
  
      >>> f1 = lambda a, b: f"f1({a}, {b})"
      >>> f2 = lambda a: f"f2({a})"
      >>> f3 = lambda a: f"f3({a})"
      >>> f = compose(f1, f2, f3)
      >>> f("a", "b")
      'f3(f2(f1(a, b)))'
  
      Args:
        f0: The first function to apply.
        *fs: Other functions to apply in sequence.
  
      Returns:
        A function that is the composition of the input functions.
      """
  
      def wrapper(*args, **kwargs):
          return functools.reduce(
              lambda x, f: f(x), fs, f0(*args, **kwargs)
          )
  
      return wrapper
  
file_path: sonnet/sonnet/src/functional/utils.py
imports: import functools
  from sonnet.src import utils
  import tensorflow
  import tree
label_desc: Use image node_id 5 for calling a global function with example usage: compose(f0) and returns: wrapper, functools