anchor.diff:  unit listlib;
   interface
   	type
  -		list_link_pointer = ^list_link;
  -
  -		list_link = object
  +		list_link = class
   		public
   			constructor create(data: longInt);
   			
  -			procedure setNext(link: list_link_pointer);
  -			procedure setPrev(link: list_link_pointer);
  +			procedure setNext(link: list_link);
  +			procedure setPrev(link: list_link);
   
   		private
   			m_data: longInt;
  -			m_next: list_link_pointer;
  -			m_prev: list_link_pointer;
  +			m_next: list_link;
  +			m_prev: list_link;
   		end;
   
   		list_iterator = class
   		public
  -			constructor create(l: list_link_pointer);
  +			constructor create(l: list_link);
   			
   			procedure next();
   			procedure prev();
  
positive.code: 		m_prev := nil;
  	end;
  
  	procedure list_link.setNext(link: list_link_pointer);
  	begin
  		m_next := link;
  	end;
  
  	procedure list_link.setPrev(link: list_link_pointer);
  	begin
  		m_prev := link;
  	end;
  
  	constructor list_iterator.create(l: list_link_pointer);
  	begin
  		m_link := l;
  	end;
  
  	procedure list_iterator.next();
  	begin
  		m_link := m_link^.m_next;
  	end;
  
  	procedure list_iterator.prev();
  	begin
  		m_link := m_link^.m_prev;
  	end;
  
  	procedure list_iterator.set_data(data: longInt);
  	begin
  		m_link^.m_data := data;
  	end;
  
  	function list_iterator.get_data(): longInt;
  	begin
  		get_data := m_link^.m_data;
  	end;
  
  	function list_iterator.equal(other: list_iterator): boolean;
  
negative.code: 			function get_data(): longInt;
  			
  			function equal(other: list_iterator): boolean;
  			function getLink(): list_link;
  
  		private
  			m_link: list_link;
  		end;
  
  		list = class
  