There was no need to use FlyString for error messages, and it just caused a bunch of churn since these strings typically only existed during the lifetime of the error.
PeriodicWave represents an arbitrary periodic waveform to be used with an OscillatorNode.