We want to represent streams of discrete events
in a manner that is more safe than plain [Bool].
Each peak can be imagined as a Dirac impulse.
A [Bool] could be used accidentally for Synthesizer.Dimensional.Amplitude.Cut.selectBool,
where selectBool is intended for piecewise constant control curves.
You may think that a type like Peak = Peak Bool as sample type
in T s Peak would also do the job.
Actually, this wouldn't be a good idea
since you can apply constant interpolation on it,
which obviously fools the idea of a peak.
|