anchor.diff:                                  match Map.tryFind n values with
                                   | Some value ->
                                       if not (t.IsAssignableFrom value.Type) then
  -                                        value |> ShaderOutputValue.withValue (converter value.Type t value.Value)
  +                                        value |> ShaderOutputValue.withValue (converter n value.Type t value.Value)
                                       else
                                           value
                                   | None ->
  
positive.code:                     let variables =
                          needed |> Map.map (fun name (lv, rv) -> 
                              let variable = Var(name + "C", rv.paramType)
                              let converter = converter lv.paramType rv.paramType
                              variable, converter
                          )
  
  
negative.code:                                 match Map.tryFind n outputs with
                                  | Some t ->
                                      if t = v.Type then Some v
                                      else v |> ShaderOutputValue.withValue (converter n v.Type t v.Value) |> Some
                                  | None ->
                                      None
                              )
  