anchor.diff:  -spec read_data(ref(), any()) -> binary() | any().
   read_data(#ref{ kind=#list_ref{ size=byte, count=0 } }, _) -> <<>>;
   read_data(#ref{ kind=#list_ref{ size=byte, count=Count } }=Ref, _) ->
  -    binary_part(get_segment(1 + ((Count - 1) div 8), Ref), 0, Count);
  +    binary_part(read(1 + ((Count - 1) div 8), Ref), 0, Count);
   read_data(#ref{ kind=null }, Default) -> Default.
   
   %% @doc Write to struct data section.
  
positive.code: -spec read_text(ref(), any()) -> binary() | any().
  read_text(#ref{ kind=#list_ref{ size=byte, count=0 } }, _) -> <<>>;
  read_text(#ref{ kind=#list_ref{ size=byte, count=Count } }=Ref, _) ->
      binary_part(get_segment(1 + ((Count - 2) div 8), Ref), 0, Count - 1);
  read_text(#ref{ kind=null }, Default) -> Default.
  
  %% @doc Read data.
  
negative.code:                true -> ElementIdx * Len
              end,
      <<Pre:Align/bits, _:Len/bits, Post/bits>>
          = read(1 + ((Align + Len - 1) div 64), Ptr),
      write(<<Pre/bits, Value:Len/bits, Post/bits>>, Ptr).
  
  %% @doc Resolve a far pointer.
  %%
  