docs: def from_soup_tag(tag):
          "Returns a new Period instance from the given beautifulsoup tag."
          days = []
          for elem in tag.findAll(recursive=False):
              if elem.name != 'day':
                  raise TypeError("Unknown tag found: " + str(elem))
              days.append(elem.string)
          return Period(
              tag['type'], tag['instructor'], tag['start'], tag['end'],
              tag['location'], days
          )