docs: def end_of_month(self) -> datetime:
          """ Provides end of the month for the given date """
          # Increase month by 1,
          result = self.value + relativedelta(months=1)
          # take the 1st day of the (next) month,
          result = result.replace(day=1)
          # subtract one day
          result = result - relativedelta(days=1)
          self.value = result
          return self.value