anchor.diff:                      Expr.callStaticGeneric [itemTy] [Expr.Var(resizeArrayVar)] <@@ List.ofSeq<_> x @@>
   
               Expr.PropertySet(this, property.ProvidedProperty, list)
  +            
  +        let setMapProperty map content = 
  +            Expr.PropertySet(this, map.Property, Expr.Var(content))
   
           let fieldLoop = Expr.forLoop <@@ ZeroCopyBuffer.allFields %%allFields @@> (fun field ->
               let maps = 
  
positive.code:                 (dict.Type.GenericTypeArguments |> List.ofArray)
                  args
                  readMethod
  //            Expr.callStaticGeneric
  //                (dict.Type.GenericTypeArguments |> List.ofArray)
  //                // TODO introduct Expr.box instead of using Expr.Coerce(xxx, typeof<obj>)
  //                [Expr.Coerce(dict, typeof<obj>); keyReader; valueReader; field]
  //                <@@ Codec.readMapElement x x x x @@>
  
          /// Converts ResizeArray to immutable list and sets corresponding repeated property
          let setRepeatedProperty property (resizeArrayVar: Var) =
  
negative.code:             resizeArrays
              |> Seq.map (fun pair -> setRepeatedProperty pair.Key pair.Value)
              |> List.ofSeq
              
          let setMapFields = 
              dictionaries
              |> Seq.map (fun pair -> setMapProperty pair.Key pair.Value)
              |> List.ofSeq
  
          let create ty = Expr.callStaticGeneric [ty] [] <@@ create<_>() @@>
          
          let body = fieldLoop :: setRepeatedFields @ setMapFields |> Expr.sequence
  
          let body = 
              resizeArrays.Values
  