<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def windowing(size, padding=UNSET, window_type=tuple):
 """Create a transducer which produces a moving window over items."""


    if size < 1:
        raise ValueError("windowing() size {} is not at least 1".format(size))

    def windowing_transducer(reducer):
        return Windowing(reducer, size, padding, window_type)

    return windowing_transducer