anchor.diff:                  | LocalVar -> Var v  
                   | FuncArg -> Var v
                   | ByRefArg -> 
  -                    let t = expr.Type
  +                    let t = getOrigType expr.Type
                       if t.HasTypeDefinition && t.TypeDefinition.IsByRef then Var v else GetRef (Var v)
                   | ThisArg -> This
           | P.Lambda _ ->
  
positive.code:                 | _ -> parsefailf "Expected a union type"
              UnionCaseTag(tr expr, t)
          | P.NewRecord (typ, items) ->
              let td = typ.TypeDefinition 
              let t =
                  match sr.ReadType env.TParams typ with
                  | ConcreteType ct -> ct
  
negative.code:             FieldSet(thisOpt |> Option.map tr, t, field, tr value)
          | P.AddressOf expr ->
              let isStructUnionOrTupleGet =
                  let t = getOrigType expr.Type
                  t.IsStructTupleType || (
                      t.HasTypeDefinition && (
                          let td = t.TypeDefinition
  