98
   Data_Vector : Data_Vectors.Vector;
   procedure Insert (Word : in String) is
      I : Data_Vectors.Index_Subtype := Data_Vector.First_Index;
      J : Data_Vectors.Extended_Index := Data_Vector.Last_Index;
      K : Data_Vectors.Index_Subtype;
      Done : Boolean := False;
      procedure Process_K (Data : in out Data_Type) is
      begin
         if Data.Word < Word then
            I := K + 1;
         elsif Data.Word > Word then
            J := K - 1;
         else -- found equivalent word
            Data.Count := Data.Count + 1;  -- inc word count
            Done := True;
         end if;
      end Process_K;
   ...