anchor.diff:  
               writeNext = fun prev next -> GLVM.vmLink(prev, next); 0
               isNext = fun prev frag -> GLVM.vmGetNext prev = frag
  -            dispose = fun () -> ()
  +            dispose = fun () -> GLVM.vmDelete prolog; GLVM.vmDelete epilog
           }
   
       let glvmOptimized (compile : Option<PreparedRenderObject> -> PreparedRenderObject -> IAdaptiveCode<Instruction>) () =
  
positive.code:                     | [| a; b; c; d; e |] -> GLVM.vmAppend5(frag, id, i.Operation, a, b, c, d, e)
                      | _ -> failwithf "invalid instruction: %A" i
  
          let mutable stats = Unchecked.defaultof<_>
          {
              compileNeedsPrev = true
              nativeCallCount = ref 0
  
negative.code:             epilog = epilog
              compileDelta = compileDelta
              startDefragmentation = fun _ _ _ -> Task.FromResult TimeSpan.Zero
              run = fun() -> 
                  let mutable stats = VMStats()
                  GLVM.vmRun(prolog, mode, &stats)
              memorySize = fun () -> 0L
              alloc = fun code -> 
                  let ptr = GLVM.vmCreate()
  