docs: def eval_interval(interval):
      """ Evaluate an interval expression """
      kwargs = {
          "years": 0,
          "months": 0,
          "weeks": 0,
          "days": 0,
          "hours": 0,
          "minutes": 0,
          "seconds": 0,
          "microseconds": 0,
      }
      for section in interval[1:]:
          name = section.getName()
          if name == "year":
              kwargs["years"] += int(section[0])
          elif name == "month":
              kwargs["months"] += int(section[0])
          elif name == "week":
              kwargs["weeks"] += int(section[0])
          elif name == "day":
              kwargs["days"] += int(section[0])
          elif name == "hour":
              kwargs["hours"] += int(section[0])
          elif name == "minute":
              kwargs["minutes"] += int(section[0])
          elif name == "second":
              kwargs["seconds"] += int(section[0])
          elif name == "millisecond":
              kwargs["microseconds"] += 1000 * int(section[0])
          elif name == "microsecond":
              kwargs["microseconds"] += int(section[0])
          else:
              raise SyntaxError("Unrecognized interval type %r: %s" % (name, section))
      return relativedelta(**kwargs)