docs: def replace(self, year=None, month=None, day=None):
          """
          Replaces the given arguments on this instance, and return a new instance.
  
          :param year:
          :param month:
          :param day:
          :return: A :py:class:`khayyam.JalaliDate` with the same attributes, except for those
              attributes given new values by which keyword arguments are specified.
          """
  
          return JalaliDate(
              year if year else self.year,
              month if month else self.month,
              day if day else self.day
          )