anchor.diff:  %% OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
   %% ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   %% ============================================================================================
  -%% Refactoring: Introduce a ?LET.
  +%% Refactoring: State data to record.
   %%
   %% Author contact: hl@kent.ac.uk, sjt@kent.ac.uk
   %% 
  
positive.code:     
  
  get_possible_conversion_funs(Forms, RecordName) ->
      RecordToTuple =atom_to_list(RecordName) ++ "_to_tuple",
      TupleToRecord = "tuple_to_" ++ atom_to_list(RecordName),
      Fun = fun(F) ->
  		FName = refac_syntax:function_name(F),
  		Arity = refac_syntax:function_arity(F),
  		case refac_syntax:type(FName) of 
  		    atom ->
  			FName1 = atom_to_list(refac_syntax:atom_value(FName)),
  			(lists:prefix(RecordToTuple, FName1) orelse 
  			 lists:prefix(TupleToRecord, FName1)) andalso (Arity == 1);
  		    _ -> 
  			false
  		end
  	  end,
      [{{refac_syntax:atom_value(refac_syntax:function_name(F)),
         refac_syntax:function_arity(F)}, F}|| F<- Forms, refac_syntax:type(F)==function, Fun(F)].
      
  	  
  
  add_util_funs(Forms, ModInfo, RecordName, RecordFields, TupleToRecordFunName, RecordToTupleFunName) ->
      Fun = fun (Node, Acc) ->
  
negative.code: 			      {c, list, Es, _} ->
  				  case Es of
  				      [{c, tuple_set, [{_, Tuples}], _}| _] ->
  				    	  SNames = [[S || {c, atom, S, _} <- [T]] || {c, tuple, [T| _], _} <- Tuples],
  				    	  lists:flatten(SNames);
  				      [{c, tuple, [S, _Tuples], _}|_] ->
  					  SNames = [SName || {c, atom, SName, _} <- [S]],
  					  lists:flatten(SNames);
  				      [] ->
  					  [];
  