     }
 
     /// Instantiate the table as a square wave
-    mutating func standardSquareWave() {
+    func standardSquareWave() {
         for i in indices {
             if (i + phaseOffset) % count < count / 2 {
                 content[i] = -1.0

}

/// A table of values accessible as a waveform or lookup mechanism
public struct AKTable: MutableCollection {
    public typealias Index = Int
    public typealias IndexDistance = Int
    public typealias Element = Float

    }

    /// Instantiate the table as a triangle wave
    func standardTriangleWave() {
        let slope = Float(4.0) / Float(count)
        for i in indices {
            if (i + phaseOffset) % count < count / 2 {
