def for_loop(function, argument_list):
    """Apply a univariate function to a list of arguments in a serial fashion.

    Uses Python's built-in for statement.

    Args:
        function: A callable object that accepts one argument
        argument_list: An iterable object of input arguments

    Returns:
        List of output results

    Example:
        >>> def square(x):
        ...     return x**2
        ...
        >>> for_loop(square, [1, 2, 3, 4, 5])
        [1, 4, 9, 16, 25]

    References:
        - https://docs.python.org/3/reference/compound_stmts.html#the-for-statement
        - https://docs.python.org/3/tutorial/controlflow.html#for-statements
    """
    result_list = []
    for arg in argument_list:
        result_list.append(function(arg))
    return result_list
