anchor.diff:          Assert.AreEqual(42, remoteValue)
   
       [<Test>]
  +    member __.``Simple AssemblyLoadProxy exception Scenario``() =
  +        use alc = new MirroredAssemblyLoadContext()
  +        use proxy = alc.CreateProxy<AssemblyLoadContextManager>()
  +        let _ = Assert.Throws<FsPicklerException>(fun () -> proxy.Execute(fun m -> do raise <| FsPicklerException("failure")))
  +        ()
  +
  +    [<Test>]
       member __.``Simple AssemblyLoadProxy static state Scenario``() =
           use alc = new MirroredAssemblyLoadContext()
           use proxy = alc.CreateProxy<AssemblyLoadContextManager>()
  
positive.code:         Assert.AreEqual(0, value)
          let remoteValue = proxy.ExecuteAsync(fun _ -> async { return value }) |> Async.RunSynchronously
          Assert.AreEqual(42, remoteValue)
  #endif
negative.code:         { new ILoadContextProxy<'T> with
              member __.Dispose() = (remoteHandle :?> IDisposable).Dispose()
              member __.Execute<'R> (command : 'T -> 'R) =
                  let boxedCommand instance = let result = command instance in result :> obj
                  let commandBytes = pickler.Pickle<'T -> obj> boxedCommand
                  let responseBytes = remoteMethod.Invoke(remoteHandle, [|commandBytes|]) :?> byte[]
                  match pickler.UnPickle<Choice<obj,exn>> responseBytes with
  