    for value in values {
      ret.append(T(rawValue: value)!)
    }
    return ret as! A
  }

  var wrappedValue: A {
    get { EnumArraySetting<A, T>.fromRawArray(getArchiveData(defaultValue, key: key)) }
    set(newValue) { setArchiveData(EnumArraySetting<A, T>.toRawArray(newValue), key: key) }
  }
}
