def rthread(data, *forms):
    """
    Like thread, but data is passed as last argument to functions,
    instead of first.

    Examples:
        >>> rthread(2, (op.div, 20), (op.mul, 4), (op.add, 2))
        42.0

    See Also:
        pipe
        thread
    """
    for form in forms:
        if isinstance(form, tuple):
            func, *args = form
        else:
            func = form
            args = ()
        data = func(*args, data)
    return data
