anchor.diff:                   ecapnp_data:get_segment(SegmentId, Pos, 1, Data),
                    Data, FollowFar).
   
  +%% @doc Get indexed reference (unintialized).
  +%%
  +%% NOTICE: That by 'uninitialized', the returned reference is a null
  +%% reference, regardless of what data currently is in the segment.
  +%%
  +%% That is, for structs, get a reference for pointer `Idx', while for
  +%% lists, get a reference for the element at `Idx' (either a pointer
  +%% or a "unpositioned" ref pointing to where a inlineComposite element
  +%% holds its data).
  +-spec ptr(integer(), #ref{}) -> #ref{}.
   ptr(Idx, #ref{ segment=SegmentId, pos=Pos, offset=Offset, data=Data,
                  kind=#struct_ref{ dsize=DSize, psize=PSize } })
     when Idx >= 0, Idx < PSize ->
  
positive.code:                      + ((Size div Count) * Idx) }
      end.
  
  read_struct_data(Align, Len, Ref) ->
      read_struct_data(Align, Len, Ref, <<0:Len/integer>>).
  read_struct_data(_, _, #ref{ kind=null }, Default) -> Default;
  read_struct_data(Align, Len,
                   #ref{ kind=#struct_ref{ dsize=DSize }}=Ref,
  
negative.code:     Ptr = ptr(Idx, Ref),
      alloc_data(Ptr#ref{ kind=Kind }).
  
  %% @doc Write list element.
  -spec write_list(integer(), integer(), binary(), #ref{}) -> ok.
  write_list(Idx, ElementIdx, Value, Ref) ->
      #ref{ kind=#list_ref{ size=Size, count=_Count }}=Ptr
          = read_struct_ptr(Idx, Ref, undefined),
  