import functools


def compose(*functions):
    """
    Compose multiple functions into a single function
    Create a function that calls a series of functions, passing the output of
    one function as the input of the next.
    See https://mathieularose.com/function-composition-in-python/
    """
    return functools.reduce(lambda f, g: lambda x: f(g(x)), functions, lambda x: x)