anchor.diff:  /// </summary>
   [<AllowNullLiteral>]
   type Context(runtime : IRuntime, resourceContextCount : int) =
  +    static let nopDisposable = { new IDisposable with member x.Dispose() = () }
       let resourceContexts = ContextHandle.createContexts resourceContextCount
       let resourceContextCount = resourceContexts.Length
   
  
positive.code:     member x.Release() = 
          isObtained <- false
          release x
          handle <- None
  
      member x.Obtain() = 
          handle <- Some <| obtain x
  
negative.code:                     new ContextToken (
                          ( fun x ->
                              token.Release()
                              handle.MakeCurrent()
                              currentToken.Value <- Some x
                              handle),
                          ( fun x ->
                              handle.ReleaseCurrent()
                              currentToken.Value <- None
                              token.Obtain())
                      ) :> _
  