anchor.diff:              compileDelta = compileDelta
               startDefragmentation = fun _ _ _ -> Task.FromResult TimeSpan.Zero
               run = fun() -> 
  -                let mutable stats = VMStats()
  -                GLVM.vmRun(prolog, mode, &stats)
  +                GLVM.vmRun(prolog, mode, &vmStats.contents)
               memorySize = fun () -> 0L
               alloc = fun code -> 
                   let ptr = GLVM.vmCreate()
  
positive.code:     // TODO: find a way to destroy sortKeys appropriately without using ConditionalWeakTable
      let preparedObjects = objects |> ASet.mapUse prepareRenderObject |> ASet.map (fun prep -> createSortKey prep, prep)
  
      let program = lazy ( this.CreateProgram preparedObjects)
  
      member x.CurrentContext =
          currentContext :> IMod<_>
  
negative.code:         member x.FrameId = frameId
  
  [<AbstractClass>]
  type AdaptiveProgramRenderTask(objects : aset<IRenderObject>, manager : ResourceManager, fboSignature : IFramebufferSignature, config : BackendConfiguration) as this =
      inherit AbstractRenderTask(
          manager.Context,
          fboSignature, 
  