anchor.diff:        )
   
     let testResults =
  -    new Subject<_>()
  +    currentTestAssembly
  +      .Select
  +        (fun testAssembly ->
  +          match testAssembly with
  +          | Some testAssembly ->
  +            testAssembly.TestResults
  +            |> fun o -> o.Finally(fun () -> cancel ())
  +          | None ->
  +            Observable.Empty()
  +        )
  +    |> fun o -> o.Switch()
   
     let subscription =
       new SingleAssignmentDisposable()
  
positive.code:     schemaUpdated
  
    override this.TestResults =
      testResults :> IObservable<_>
  
    override this.Start() =
      start ()
  
negative.code:     cancel ()
      match OneshotTestAssembly.ofFile file with
      | Success testAssembly ->
        currentTestSchema.Value <- testAssembly.Schema
        currentTestAssembly.Value <- Some testAssembly
        testAssembly.Start()
      | Failure e ->
  