Swift 2 Erro ao usar a função de mutação na extensão de protocolo "Não é possível usar o membro de mutação no valor imutável: 'self' é imutável

Não tenho certeza do que está acontecendo aqui, parece que deve ser bem direto. Eu tenho um protocolo que mutable var, uma extensão com uma função mutante. As coisas estão acabandotestClass.testFunc, quando tento usarmtkAnimQueAppend declarado na extensão, recebo este erro:"Não é possível usar o membro mutante em valor imutável: 'self' é imutável.

protocol MTKAnimateValueDelegate {
    var mtkAnimQue:[MTKAnimateValue]? {get set}
}

extension MTKAnimateValueDelegate {
    ///Adds element to que
    mutating func mtkAnimQueAppend(element:MTKAnimateValue) {

        if mtkAnimQue != nil {
          mtkAnimQue?.append(element)
        } else {
          mtkAnimQue = [element]
        }
    }
}

class testClass: MTKAnimateValueDelegate {

  var mtkAnimQue:[MTKAnimateValue]?

  func testFunc() {
    var animValue = MTKAnimateValue(fromValue: 10, toValue: 20, inSeconds: 2)
    animValue.isAnimating = true
    mtkAnimQueAppend(animValue) //ERROR: "Cannot use mutating member on immutable value: 'self' is immutable
  }

}

questionAnswers(1)

yourAnswerToTheQuestion