anchor.diff:              {FieldName, FieldValue}
       end;
   
  +%% Value field
  +get_data(#data{ type=Type,
  +                offset=DataOffset,
  +                bits=Bits },
  +         #object{ offset=ObjOffset,
  +                  segment=Segment }) ->
  +    Offset = ObjOffset + DataOffset,
  +    get_value(Type, Offset, Bits, Segment).
  +
  +
   %% List fields
  -get_field(#ptr{ type={list, Type} }=Ptr, Object) ->
  +get_ptr(#ptr{ type={list, Type} }=Ptr, Object) ->
       case dereference_ptr(Ptr, Object) of
  -        #list_ptr{ 
  -           size=composite, 
  -           segment=S }=R ->
  +        #list_ptr{ size=composite, 
  +                   segment=S }=L ->
               {ok, T} = get_type(Type, Object),
  -            [Object#object{ offset=O, type=T, segment=S } || O <- get_list(R)]
  -%%% TODO: implement for ordinary lists
  +            [Object#object{ offset=O, type=T, segment=S } || O <- get_offset_list(L)];
  +        #list_ptr{ segment=S }=L -> 
  +            [get_value(Type, O, B, S) || {O, B} <- get_offset_list(L)]
       end;
   
   %% Text field
  -get_field(#ptr{ type=text }=Ptr, Object) ->
  +get_ptr(#ptr{ type=text }=Ptr, Object) ->
       #list_ptr{
          offset=Offset, 
          size=8,
  
positive.code:     proplists:get_value(Value, Values);
  
  %% Union field
  get_field(#data{ type={union, Fields},
                   offset=DataOffset,
                   bits=Bits },
            #object{ offset=ObjOffset,
                     segment=Segment}=Object) ->
      <<_:ObjOffset/binary-unit:64,
  
negative.code:         Ok -> Ok
      end.
  
  get_field(Field, Object)
    when is_record(Field, data) ->
      get_data(Field, Object);
  get_field(Field, Object)
    when is_record(Field, ptr) ->
      get_ptr(Field, Object).
  
  %% Enum field
  get_data(#data{ type={enum, Type},
                  offset=DataOffset },
           #object{ offset=ObjOffset,
                    segment=Segment }=Object) ->
      <<_:ObjOffset/binary-unit:64,
        _:DataOffset/binary-unit:64,
        Value:16/integer-little,
  