     
     /// Updates the animators.
     func updateAnimators() {
+        guard let a = animators else {
+            return
+        }
+        
         let v = elapsedTime * totalDuration
         
-        animators?.forEach {
-            $0.seek(to: v)
+        for x in a {
+            x.seek(to: v)
         }
     }
     

    /// Executes the preprocessors' process function.
    func processContext() {
        guard isTransitioning else {
            fatalError()
        }
        
        preprocessors?.forEach { [weak self] in
            guard let s = self else {
                return
            }
            
            $0.process(fromViews: s.context.fromViews, toViews: s.context.toViews)
        }
    }
    

            return
        }
        
        guard let a = animators else {
            return
        }
        
        let s = MotionTransitionState(transitions: transitions)
        let v = context.transitionPairedView(for: view) ?? view
        
        for x in a {
            x.apply(state: s, to: v)
        }
    }
}
