A NAryOpStream is created as a result of a n-ary math operation on a Stream. It is defined to respond to next by returning the result of the math operation on the next value from the stream. It responds to reset by resetting the Stream.