anchor.diff:  type VertexAttribute<'T> =
       {
           name: string
  +        mutable location: int
           mutable value: 'T
  -        mutable location: int
       }
   
       member this.Set value = this.value <- value
   
  -type Shader =
  +type ShaderProgram =
       {
           programId: int
           mutable isInitialized: bool
  
positive.code: 
      member this.TryAdd (material: Material, mesh: Mesh) =
  
          material.Texture.Buffer.TryBufferData () |> ignore
          mesh.Position.TryBufferData () |> ignore
          mesh.Uv.TryBufferData () |> ignore
  
          // TODO: What shall we do with transparent textures? :D
  //        if material.Texture.Buffer.IsTransparent then
  //            None
  //        else
  
          let addTexture (bucketLookup: Dictionary<TextureId, Texture * FRendererBucket>) texture = 
              let bucket =
                  match bucketLookup.TryGetValue (texture.Buffer.Id) with
  
negative.code:         IsWireframe: bool
      }
  
  [<ReferenceEquality>]
  type FRendererBucket =
      {
  