docs: def as_dict(self):
          """
          Bson-serializable dict representation of the StructureEnvironments object.
          :return: Bson-serializable dict representation of the StructureEnvironments object.
          """
          ce_list_dict = [{str(cn): [ce.as_dict() if ce is not None else None for ce in ce_dict[cn]]
                           for cn in ce_dict} if ce_dict is not None else None for ce_dict in self.ce_list]
          nbs_sets_dict = [{str(cn): [nb_set.as_dict() for nb_set in nb_sets]
                            for cn, nb_sets in site_nbs_sets.items()}
                           if site_nbs_sets is not None else None
                           for site_nbs_sets in self.neighbors_sets]
          info_dict = {key: val for key, val in self.info.items() if key not in ['sites_info']}
          info_dict['sites_info'] = [{'nb_sets_info': {str(cn): {str(inb_set): nb_set_info
                                                                 for inb_set, nb_set_info in cn_sets.items()}
                                                       for cn, cn_sets in site_info['nb_sets_info'].items()},
                                      'time': site_info['time']} if 'nb_sets_info' in site_info else {}
                                     for site_info in self.info['sites_info']]
  
          return {"@module": self.__class__.__module__,
                  "@class": self.__class__.__name__,
                  "voronoi": self.voronoi.as_dict(),
                  "valences": self.valences,
                  "sites_map": self.sites_map,
                  "equivalent_sites": [[ps.as_dict() for ps in psl] for psl in self.equivalent_sites],
                  "ce_list": ce_list_dict,
                  "structure": self.structure.as_dict(),
                  "neighbors_sets": nbs_sets_dict,
                  "info": info_dict}