anchor.diff:  
                                           // attempt to finish threads
                                           let world =
  -                                            match (rendererTaskOpt, audioPlayerTaskOpt) with
  -                                            | ((Some rendererTask), (Some audioPlayerTask)) ->
  +                                            match (rendererThreadOpt, audioPlayerThreadOpt) with
  +                                            | ((Some rendererThread), (Some audioPlayerThread)) ->
   
                                                   // finish all threads
  -                                                let rendererResult = rendererTask |> Async.AwaitTask |> Async.RunSynchronously
  -                                                let audioPlayerResult = audioPlayerTask |> Async.AwaitTask |> Async.RunSynchronously
  +                                                let rendererResult = rendererThread |> Async.AwaitTask |> Async.RunSynchronously
  +                                                let audioPlayerResult = audioPlayerThread |> Async.AwaitTask |> Async.RunSynchronously
   
                                                   // apply their results
                                                   let world = Subsystem.applyResult rendererResult (World.getRenderer world) world
  
positive.code:                                         let world = World.incrementUpdateCount world
  
                                          // recur
                                          World.runWithoutCleanUp runWhile pre post sdlDeps liveness rendererTaskOpt audioPlayerTaskOpt world
  
                                      | Exiting -> world
                                  | Exiting -> world
  
negative.code:                                                 let world = World.setAudioPlayer audioPlayer world
                                          
                                                  // start the renderer thread
                                                  let rendererThread = Task.Factory.StartNew (fun () ->
                                                      match Constants.Render.ScreenClearing with
                                                      | NoClear -> ()
                                                      | ColorClear (r, g, b) ->
  