Pulse now accepts a function to generate Tuples

The pulse operator now looks most like it's final state. It accepts as
its parameter a Tuple generating function, which will be called every
period - as specified in the parameters.