anchor.diff:          Assert.AreEqual(0, value)
           let remoteValue = proxy.ExecuteAsync(fun _ -> async { return value }) |> Async.RunSynchronously
           Assert.AreEqual(42, remoteValue)
  +
  +    [<Test>]
  +    member __.``Simple AssemblyLoadProxy async exception Scenario``() =
  +        use alc = new MirroredAssemblyLoadContext()
  +        use proxy = alc.CreateProxy<AssemblyLoadContextManager>()
  +        Assert.ThrowsAsync<FsPicklerException>(fun () -> proxy.ExecuteAsync(fun _ -> async { do raise <| FsPicklerException("failure")}) |> Async.StartAsTask :> _)
  +        |> ignore
   #endif
positive.code:         Assert.AreEqual(42, remoteValue)
  
      [<Test>]
      member __.``Simple AssemblyLoadProxy static state Scenario``() =
          use alc = new MirroredAssemblyLoadContext()
          use proxy = alc.CreateProxy<AssemblyLoadContextManager>()
  
negative.code:     let currentLoadContext = AssemblyLoadContext.GetLoadContext(Assembly.GetExecutingAssembly())
  
      let tryResolveFileName (an : AssemblyName) =
          let isMatchingAssembly (assembly : Assembly) =
              let can = assembly.GetName()
              can.Name = an.Name &&
              can.Version >= an.Version &&
              can.GetPublicKeyToken() = an.GetPublicKeyToken()
  
          currentLoadContext.Assemblies
          |> Seq.filter (fun a -> not a.IsDynamic && not (String.IsNullOrEmpty a.Location))
          |> Seq.tryFind isMatchingAssembly
          |> Option.map (fun a -> a.Location)
              
      override this.Load an =
  