docs: def as_dict(self):
          """
          Returns dict which contains Pourbaix Entry data.
          Note that the pH, voltage, H2O factors are always calculated when
          constructing a PourbaixEntry object.
          """
          d = {"@module": self.__class__.__module__,
               "@class": self.__class__.__name__}
          if isinstance(self.entry, IonEntry):
              d["entry_type"] = "Ion"
          else:
              d["entry_type"] = "Solid"
          d["entry"] = self.entry.as_dict()
          d["concentration"] = self.concentration
          d["entry_id"] = self.entry_id
          return d