anchor.diff:  
                   dshape2(1) = size(walker_data, dim=1, kind=HSIZE_T)
                   ptr = c_loc(walker_data)
  -                call write_ptr(subgroup_id, ddata, h5_p, size(shape(walker_data)), dshape2, ptr)
  +                call write_ptr(subgroup_id, ddata, kinds%p, size(shape(walker_data)), dshape2, ptr)
   
                   ! Can't use c_loc on a assumed shape array.  It's small, so just
                   ! copy it.
                   allocate(tmp_pop(size(total_population)))
                   tmp_pop = total_population
                   ptr = c_loc(tmp_pop)
  -                call write_ptr(subgroup_id, dtot_pop, h5_lint, size(shape(tmp_pop)), shape(tmp_pop, HSIZE_T), ptr)
  +                call write_ptr(subgroup_id, dtot_pop, kinds%lint, size(shape(tmp_pop)), shape(tmp_pop, HSIZE_T), ptr)
   
                   call h5gclose_f(subgroup_id, ierr)
   
  
positive.code:                 tot_walkers = dims(size(dims))
  
                  ptr = c_loc(walker_dets)
                  call read_ptr(subgroup_id, ddets, h5_i0, ptr)
  
                  ptr = c_loc(walker_population)
                  call read_ptr(subgroup_id, dpops, H5T_NATIVE_INTEGER, ptr)
  
                  ptr = c_loc(walker_data)
                  call read_ptr(subgroup_id, ddata, h5_p, ptr)
  
                  ptr = c_loc(tot_nparticles)
                  call read_ptr(subgroup_id, dtot_pop, h5_lint, ptr)
  
                  call h5gclose_f(subgroup_id, ierr)
  
  
negative.code:     ! doesn't then handle the situation gracefully (e.g. by falling back to
      ! default values).
  
      use hdf5, only: hid_t
      implicit none
  
      private
  