anchor.diff:                  lock startedLock (fun () -> started <- true)
   
                   // loop until terminated
  -                while not (this :> RenderProcess2d).Terminated do
  +                while not this.Terminated do
   
                       // loop until rendered or terminated
                       let mutable rendered = false
  -                    while not rendered && not (this :> RenderProcess2d).Terminated do
  +                    while not rendered && not this.Terminated do
                           rendered <-
                               lock submissionLock (fun () ->
                                   match submissionOpt with
  
positive.code:         | ValueSome renderAsset ->
              match renderAsset with
              | TextureAsset (textureMetadata, texture) ->
                  GlRenderer2d.renderSpriteInline absolute position size pivot rotation inset textureMetadata texture color blend glow flip renderer
              | _ -> Log.trace "Cannot render sprite with a non-texture asset."
          | _ -> Log.info ("SpriteDescriptor failed to render due to unloadable assets for '" + scstring image + "'.")
  
  
negative.code:     static member private sortRenderLayeredMessages renderer =
          renderer.RenderLayeredMessages.Sort (RenderLayeredMessage2dComparer ())
  
      static member inline private batchSprite
          absolute position size pivot rotation (inset : Box2) textureMetadata texture (color : Color) blend (glow : Color) flip renderer =
  
          // compute coords
  