anchor.diff:              Expr = expr
               ExecUnits = execUnits
               Result = exprRes.Value
  -            MemAllocs = memAllocs
  -            InitItems = initItems
  +            MemAllocs = memAllocs |> List.ofSeq
  +            InitItems = initItems |> List.ofSeq
           }
   
   
  
positive.code:         let numShapeOf expr = UExpr.shapeOf expr |> ShapeSpec.eval 
  
          // execution units
          let mutable execUnits = []
          let mutable execUnitIdCnt = 0
          let newExecUnitId () =
              execUnitIdCnt <- execUnitIdCnt + 1
              execUnitIdCnt
          let submitExecUnit eu =
              execUnits <- eu :: execUnits
  
          let mutable initItems = []
          let submitInitItems ii =
              initItems <- ii @ initItems
  
          // storage space
          let mutable memAllocs = []
          let newMemory typ elements kind = 
              let mem = {Id=List.length memAllocs; TypeName=typ; Elements=elements; Kind=kind}
              memAllocs <- mem :: memAllocs
              MemAlloc mem
  
          // evaluation request
  
negative.code:             processEvalRequest ()
  
          // post-process execUnits
          let execUnits = List.ofSeq execUnits
          if Compiler.Cuda.Debug.TraceCompile then printfn "Adding StoreToVar dependencies..."
          let execUnits =
              execUnits
  