Don't convert chords to an array as it loses its cycle property
Add square synth (essentially pulse with a fixed pulse_width of 0.5)
New fn: range which returns a ring array from args:

(range 1, -5, -2) #=> [1, -1, -3, -5]