anchor.diff:                      match envOpt with
                       | Some env ->
                           EndSpriteBatch ()
  -                        RenderSpriteBatch env.SpriteIndex env.BatchState.Texture env.CpuBuffer env.GpuBuffer
  +                        RenderSpriteBatch env.SpriteIndex env.BatchState.Texture env.CpuBuffer env.GpuBuffer env.GpuVao
                       | None -> ()
  -                    let gpuBuffer = CreateSpriteBatchBuffer Constants.Render.SpriteBatchSize
  +                    let (gpuBuffer, gpuVao) = CreateSpriteBatchBuffer Constants.Render.SpriteBatchSize
                       let cpuBuffer = BeginSpriteBatch gpuBuffer
                       let batchState = { BlendingFactorSrc = bfs; BlendingFactorDest = bfd; Texture = texture }
  -                    { SpriteIndex = 0; CpuBuffer = cpuBuffer; GpuBuffer = gpuBuffer; BatchState = batchState }
  -                else Option.get envOpt // guaranteed to be
  +                    { SpriteIndex = 0; CpuBuffer = cpuBuffer; GpuBuffer = gpuBuffer; GpuVao = gpuVao; BatchState = batchState }
  +                else Option.get envOpt // guaranteed to exist
   
               let vertexSize = nativeint sizeof<SpriteBatchVertex>
               let cpuOffset = env.CpuBuffer + vertexSize * nativeint 4
  
positive.code:             Gl.UnmapBuffer Gl.BufferTarget.ArrayBuffer |> ignore<bool>
              Gl.BindBuffer (Gl.BufferTarget.ArrayBuffer, 0u)
  
          let private RenderSpriteBatch numSprites texture cpuBuffer gpuBuffer =
              Gl.BindTexture (Gl.TextureTarget.Texture2D, texture)
              Gl.BindBuffer (Gl.BufferTarget.ArrayBuffer, gpuBuffer)
              Gl.BufferSubData (Gl.BufferTarget.ArrayBuffer, nativeint 0, nativeint (sizeof<SpriteBatchVertex> * 4 * numSprites), cpuBuffer)
              //Gl.BindVertexArray(this->vao);
              Gl.DrawArrays (Gl.BeginMode.Triangles, 0, 6 * numSprites)
              Gl.BindVertexArray 0u
              Gl.BindBuffer (Gl.BufferTarget.ArrayBuffer, 0u)
  
negative.code:                 { SpriteIndex : int
                    CpuBuffer : nativeint
                    GpuBuffer : uint
                    GpuVao : uint
                    BatchState : SpriteBatchState }
  
          /// Create a texture frame buffer.
  