code: def languages(macrolanguage):
          
          results = []
  
          macrolanguage = macrolanguage.lower()
          macrolanguage_data = data.get('macrolanguage')
          if macrolanguage not in macrolanguage_data:
              raise Exception('\'' + macrolanguage + '\' is not a macrolanguage.')
          for registry_item in registry:
              record = registry_item
              if 'Macrolanguage' in record:
                  if record['Macrolanguage'] == macrolanguage:
                      results.append(Subtag(record['Subtag'], record['Type']))
  
          return results
docs: Get a list of :class:`language_tags.Subtag.Subtag` objects given the string macrolanguage.
  
          :param string macrolanguage: subtag macrolanguage.
          :return: a list of the macrolanguage :class:`language_tags.Subtag.Subtag` objects.
          :raise Exception: if the macrolanguage does not exists.