anchor.diff:  
   type ComputeShader =
       {
  +        csId            : string
  +        csMethod        : MethodBase
           csLocalSize     : V3i
           csBuffers       : Map<string, ComputeBuffer>
           csImages        : Map<string, ComputeImage>
  
positive.code:                 let hash = Expr.ComputeHash body
  
                  cache.GetOrAdd((hash, maxLocalSize), fun (signature, maxLocalSize) ->
                      let localSize =
                          match body.Method with
                              | Some mb -> 
                                  match mb.GetCustomAttributes<LocalSizeAttribute>() |> Seq.tryHead with
                                      | Some att -> V3i(att.X, att.Y, att.Z)
                                      | _ -> 
                                          Log.warn "[FShade] compute shader without local-size"
                                          V3i(1,1,1)
                              | None ->
                                  Log.warn "[FShade] compute shader without local-size"
                                  V3i(1,1,1)
  
                      let localSize =
                          V3i(
  
negative.code:                             (if localSize.Z = MaxLocalSize then maxLocalSize.Z else localSize.Z)
                          )
  
                      ofExprInternal meth hash localSize body
  
  
                  )
  