anchor.diff:      end;
       Result := resultStr;
     finally
  +    FreeAndNil(splitList);
       FreeAndNil(paramList);
  -    FreeAndNil(convertList);
       FreeAndNil(typeList);
  -    FreeAndNil(splitList);
     end;
   end;
   
  
positive.code: }
  function TForm1.paramParser(aString: String): String;
  var
    i, j, nextType: Integer;
    inList: Boolean;
    paramList, convertList, typeList, splitList: TStringList;
    resultStr, varType: String;
    paramHolder: Array of tParamHolder;
  begin
    try
      paramList   := TStringList.Create;
      convertList := TStringList.Create;
      typeList    := TStringList.Create;
      splitList   := TStringList.Create;
      resultStr   := '';
      j           := 0;
      nextType    := 0;
  
      splitList.AddStrings(aString.Split([' ']));
  
  
negative.code:     // Bind variable names to their type
      for i := 0 to paramList.Count - 1 do
      begin
        isType := False;
        for varTypeName in VAR_TYPES do
          if paramList[i] = varTypeName then
          begin
            typeList.Add(paramList[i]);
            Inc(varTypeInt);
            isType := True;
          end;
        if not isType then
        begin
          SetLength(paramHolder, Length(paramHolder) + 1);
          paramHolder[High(paramHolder)].Name := paramList[i];
          paramHolder[High(paramHolder)].varType := varTypeInt;
        end;
      end;
  
  