code: def foldl(f: Callable[[T, U], T], x: T, xs: Iterable[U]) -> T:
      
      return reduce(f, xs, x)
docs: Returns the accumulated result of a binary function applied to elements
      of an iterable.
  
      .. math::
          foldl(f, x_0, [x_1, x_2, x_3]) = f(f(f(f(x_0, x_1), x_2), x_3)
  
  
      Examples
      --------
      >>> from delphi.utils.fp import foldl
      >>> foldl(lambda x, y: x + y, 10, range(5))
      20