anchor.diff:  
           currentChanger.RemoveOutput changer
           currentChanger <- Mod.constant FrameStatistics.Zero
  -        lastSurface <- None
  +        lastPrev <- None
           prev <- null
           next <- null
   
  
positive.code:     let mutable currentProgram : Option<AdaptiveCode> = None
      let mutable currentChanger = Mod.constant FrameStatistics.Zero
      let mutable frag : 'f = match precompiled with | Some p -> p | None -> null
      let mutable lastSurface = None
  
      let hasProgram =
          match precompiled with
  
negative.code:                 | null -> PreparedRenderObject.Empty
                  | _ -> prev.RenderObject
  
          match lastPrev with
              | Some s when s = prev.RenderObject -> FrameStatistics.Zero
              | _ ->
                  lastPrev <- Some prev.RenderObject
  
                  match frag with
                      | null -> frag <- ctx.handler.Create []
  