title: Xcode 13.3 new error message with @MainActor
body: <p>I updated today to Xcode 13.3 and now my code can't compile anymore.</p>
  <p>I get two error messages. It seems there is a connection between the errors.
  Error No. 1
  Property 'startAnimation' isolated to global actor 'MainActor' can not be mutated from a non-isolated context
  in this line</p>
  <pre><code>kuzorra.delay(interval: 1.5) {startAnimation.toggle()
  </code></pre>
  <p>and error No.2</p>
  <ol>
  <li>Mutation of this property is only permitted within the actor</li>
  </ol>
  <p>in this line</p>
  <pre><code>@State private var startAnimation = false
  </code></pre>
  <p>I don't really understand how tot fix this error. Any help or hints are welcome :-)</p>
  <p>For better understanding my view:</p>
  <pre><code>struct AnimationView: View {
      
      @EnvironmentObject var kuzorra: Kuzorra
      @AppStorage (&quot;isSoundEnabled&quot;) var isSoundEnabled: Bool = true
      @State private var startAnimation = false
      var label: Bool
      var correctAnswer: String
      
      var body: some View {
          VStack {
              Text(label ? &quot;RICHTIG!&quot; : &quot;FALSCH!&quot;)
                  .foregroundColor(.white)
                  .font(.largeTitle)
                  .fontWeight(.bold)
                  .padding(.horizontal)
                  .padding(.top)
              
              
              if !label{ Text(&quot;Richtige Antwort: \(correctAnswer)&quot;)
                      .font(.caption)
                      .lineLimit(1)
                      .minimumScaleFactor(0.01)
                      .foregroundColor(.white)
                      .padding(.horizontal)
              }
              VStack(alignment: .trailing){
                  
                  Text(&quot; - Weiter - &quot;)
                      .padding(.bottom, 5)
                      .foregroundColor(.white)
                      .font(.caption2)
              }
          }
          .bgStyle()
          .rectangleStyle()
          .padding()
          .opacity( startAnimation ? 1 : 0)
          .rotationEffect(.degrees(startAnimation ? 2880 : 0))
          .scaleEffect(startAnimation ? 2 : 1/32)
          .animation(Animation.easeOut.speed(1/4), value: startAnimation)
          .onTapGesture {
              kuzorra.currentPage = .page3
          }
          .onAppear {
              if isSoundEnabled   {   AudioServicesPlayAlertSound(SystemSoundID(1320))
              }
              kuzorra.delay(interval: 1.5) {startAnimation.toggle()
              }
          }
      }
  }
  </code></pre>
  <p>and here is the code from delay:</p>
  <pre><code>@MainActor
  class Kuzorra: ObservableObject {
  
  .
  .
  .
  
  func delay(interval: TimeInterval, closure: @escaping () -&gt; Void) {
          DispatchQueue.main.asyncAfter(deadline: .now() + interval, execute: closure)
      }
  </code></pre>
  <p>There I get the following error message:
  Passing non-sendable parameter 'closure' to function expecting a @Sendable closure
  Parameter 'closure' is implicitly non-sendable.
  After pressing fix this error message disappears..</p>