anchor.diff:            nuc => nuclides(mat % nuclide(j))
   
             ! loop over energy points
  -          n = size(nuc % energy)
  -          call add_grid_points(list, nuc % energy, n)
  +          call add_grid_points(list, nuc % energy)
          end do
       end do
   
  
positive.code:     type(Material), pointer :: mat => null()
      type(Nuclide),  pointer :: nuc => null()
      integer :: i, j
      integer :: n
      character(MAX_LINE_LEN) :: msg
  
      msg = "Creating unionized energy grid..."
  
negative.code:     head => list
  
      E = energy(index)
      do while (index <= n)
  
         ! If we've reached the end of the grid energy list, add the remaining
         ! energy points to the end
         if (.not. associated(current)) then
            ! finish remaining energies
            do while (index <= n)
               allocate(previous % next)
               current => previous % next
               current % data = energy(index)
  