code: def insert(self, i, species, coords, coords_are_cartesian=False,
                 validate_proximity=False, properties=None):
          
          if not coords_are_cartesian:
              new_site = PeriodicSite(species, coords, self._lattice,
                                      properties=properties)
          else:
              frac_coords = self._lattice.get_fractional_coords(coords)
              new_site = PeriodicSite(species, frac_coords, self._lattice,
                                      properties=properties)
  
          if validate_proximity:
              for site in self:
                  if site.distance(new_site) < self.DISTANCE_TOLERANCE:
                      raise ValueError("New site is too close to an existing "
                                       "site!")
  
          self._sites.insert(i, new_site)
docs: Insert a site to the structure.
  
          Args:
              i (int): Index to insert site
              species (species-like): Species of inserted site
              coords (3x1 array): Coordinates of inserted site
              coords_are_cartesian (bool): Whether coordinates are cartesian.
                  Defaults to False.
              validate_proximity (bool): Whether to check if inserted site is
                  too close to an existing site. Defaults to False.
              properties (dict): Properties associated with the site.
  
          Returns:
              New structure with inserted site.