anchor.diff:              RestartBatch state env
               OpenGL.Hl.Assert ()
   
  -        // compute a coord flipping value
  -        let flipper =
  +        // compute a flipping flags
  +        let struct (flipH, flipV) =
               match flip with
  -            | FlipNone -> v2 1.0f -1.0f
  -            | FlipH -> v2 -1.0f -1.0f
  -            | FlipV -> v2 1.0f 1.0f
  -            | FlipHV -> v2 -1.0f 1.0f
  +            | FlipNone -> struct (false, false)
  +            | FlipH -> struct (true, false)
  +            | FlipV -> struct (false, true)
  +            | FlipHV -> struct (true, true)
   
           // populate vertices
           let perimeter = box2 position size
  -        PopulateVertex perimeter pivot rotation texCoords color env
  +        PopulateVertex perimeter pivot rotation texCoords flipH flipV color env
   
           // advance sprite index
           env.SpriteIndex <- inc env.SpriteIndex
  
positive.code:         let rotationOffset = env.SpriteIndex
          env.Rotations.[rotationOffset] <- rotation
          let texCoordsOffset = env.SpriteIndex * 4
          env.TexCoordses.[texCoordsOffset] <- texCoords.Position.X
          env.TexCoordses.[texCoordsOffset + 1] <- 1.0f - texCoords.Position.Y
          env.TexCoordses.[texCoordsOffset + 2] <- texCoords.Size.X
          env.TexCoordses.[texCoordsOffset + 3] <- -texCoords.Size.Y
          let colorOffset = env.SpriteIndex * 4
          env.Colors.[colorOffset] <- color.R
          env.Colors.[colorOffset + 1] <- color.G
  
negative.code:         OpenGL.Hl.Assert (fn ())
          BeginBatch state env
  
      let inline private PopulateVertex (perimeter : Box2) (pivot : Vector2) (rotation : single) (texCoords : Box2) flipH flipV (color : Color) env =
          let perimeterOffset = env.SpriteIndex * 4
          env.Perimeters.[perimeterOffset] <- perimeter.Position.X
          env.Perimeters.[perimeterOffset + 1] <- perimeter.Position.Y
  