anchor.diff:          inject isStructMember path instance field
   #endif
   
  +#if TYPESHAPE_NO_EXPR
  +#else
  +    /// Projects an instance to member of given value
  +    member __.ProjectExpr (instance : Expr<'DeclaringType>) =
  +        projectExpr<'DeclaringType, 'MemberType> path instance
  +
       /// Injects a value to member of given instance
       member __.InjectExpr (instance : Expr<'DeclaringType>) (field : Expr<'MemberType>) =
           injectExpr path instance field
  +#endif
   
       interface IShapeMember<'DeclaringType> with
           member s.Label = label
  
positive.code:         ctorInfo.Invoke(null, ctorParams) :?> 'Union
  #endif
  
      member __.CreateUninitializedExpr() : Expr<'Union> =
          let fieldsExpr = properties |> Seq.map (fun p -> Expr.DefaultValue p.PropertyType)
          Expr.Cast<'Union>(Expr.Call(ctorInfo, Seq.toList fieldsExpr))
  
      interface IShapeFSharpUnionCase with
          member __.CaseInfo = uci
  
negative.code:             | _ -> invalidOp <| sprintf "Unexpected tag reader info %O" tagReaderInfo
          
          Expr.Cast<int> expr
  #endif
          
          
      interface IShapeFSharpUnion with
  