def compose(x, *funcs):
    """
    takes an initial value and a list of functions and composes those functions on the initial value
    :param x: object to call the composed functions on
    :param funcs: list of functions to compose
    :return: final output of composition
    """
    for func in funcs:
        x = func(x)
    return x