class_docstr: Function composition: compose(f, g)(...) is equivalent to f(g(...)).
  Refer to https://github.com/mentalisttraceur/python-compose for original implementation.
  
  Args:
      *functions: Functions (or other callables) to compose.
  
  Raises:
      TypeError: If no arguments are given, or any argument is not callable.
class_docstr_tok: ["Function","composition",":","compose","(","f",",","g",")","(","...",")","is","equivalent","to","f","(","g","(","...",")",")",".","Refer","to","https",":","\/\/github.com\/mentalisttraceur\/python-compose","for","original","implementation",".","Args",":","*","functions",":","Functions","(","or","other","callables",")","to","compose",".","Raises",":","TypeError",":","If","no","arguments","are","given",",","or","any","argument","is","not","callable","."]
code: def __init__(self: Self, *functions: F[t.Any]):
      if not functions:
          raise TypeError(f"{self!r} needs at least one argument.")
      _functions: list[F[t.Any]] = []
      for function in reversed(functions):
          if not callable(function):
              raise TypeError(f"{self!r} arguments must be callable.")
          if isinstance(function, compose):
              _functions.extend(function.functions)
          else:
              _functions.append(function)
      self.__wrapped__ = _functions[0]
      self._wrappers = tuple(_functions[1:])
  
imports: from __future__ import annotations
  import asyncio
  import contextlib
  import functools
  import inspect
  import logging
  import os
  import random
  import re
  import socket
  import typing
  from datetime import date
  from datetime import datetime
  from datetime import time
  from datetime import timedelta
  from pathlib import Path
  from reprlib import recursive_repr
  from typing import TYPE_CHECKING
  from typing import overload
  import attr
  import fs
  import fs.copy
  from rich.console import Console
  from ..types import LazyType
  from .cattr import bentoml_cattr
  from .lazy_loader import LazyLoader
  from .uri import encode_path_for_uri
label_desc: Use image node_id 1 to create a new compose object  with example: obj = compose()