anchor.diff:            tperms%perm(ig,:) = reshape(transpose(ident(:,perm)),(/n*nD/))
          enddo
   
  -       RPlist(iH)%nL = size(rperms%perm,1)*n
  -       allocate(RPlist(iH)%perm(RPlist(iH)%nL,n*nD)) ! nL rows and n*nD columns in the list
  +       RPList(iH)%nL = size(rperms%perm,1)*n
  +       allocate(RPList(iH)%perm(RPList(iH)%nL,n*nD)) ! nL rows and n*nD columns in the list
          if ((arrows) .and. present(aperms)) then
  -          allocate(aperms(iH)%perm(RPlist(iH)%nL,size(arrow_basis,2)))
  +          allocate(aperms(iH)%perm(RPList(iH)%nL,size(arrow_basis,2)))
          else if (present(aperms)) then
  -          allocate(aperms(iH)%perm(RPlist(iH)%nL,1))
  +          allocate(aperms(iH)%perm(RPList(iH)%nL,1))
          end if
          do it = 1,n ! Loop over translation perms (r type)
             do iOp = 1,size(rperms%perm,1) ! Loop over unique rotation
                ! perms (N+t type) Form the permutation effected by
                ! composing the iOp-th one with the it-th one
  -             RPlist(iH)%perm((iOp-1)*n+it,:) = tperms%perm(it,(rperms%perm(iOp,:)))
  +             RPList(iH)%perm((iOp-1)*n+it,:) = tperms%perm(it,(rperms%perm(iOp,:)))
                if ((arrows .eqv. .true.) .and. present(aperms)) then
                   aperms(iH)%perm((iOp-1)*n+it,:) = taperms%perm(iOp,:)
                else if (present(aperms)) then
  
positive.code:     ! have 1 label ["inactive sites" or "spectator sites"]). By removing these from the enumeration
      ! itself (adding them back in afterwards) reduces unnecessary combinatoric explosion.
      call make_inactive_table(k,nD, equivalencies,nDFull,labelFull,dFull,d,label,digit,digitFull,inactives)
  !del    write(*,'("crange orig:")')
  !del  do i = 1, size(crange,1)
  !del     write(*,'(10(1x,i2))') crange(i,:)
  !del  enddo
      ! Are we going to use a set of fixed cells? Or loop over all possible cells?
      call check_for_fixed_cells(fixed_cells,nMin,nMax) ! fixed_cells will be .true. on exit if `fixed_cells.in` exists
  
  
negative.code:        ! (with the translations) will not have duplicates.
         if ((size(rperms%perm,1) > 1) .and. (arrows .eqv. .false.)) then
            call sort_permutations_list(rperms%perm)
         else if (arrows .eqv. .True.) then
            allocate(temp_perms(size(rperms%perm,1),size(rperms%perm,2)+size(taperms%perm,2)))
            do im=1, size(rperms%perm,1)
  