def METHOD_NAME(footprint):
    """
    ALMA footprints have the form:
    'Polygon ICRS 266.519781 -28.724666 266.524678 -28.731930 266.536683
    -28.737784 266.543860 -28.737586 266.549277 -28.733370 266.558133
    -28.729545 266.560136 -28.724666 266.558845 -28.719605 266.560133
    -28.694332 266.555234 -28.687069 266.543232 -28.681216 266.536058
    -28.681414 266.530644 -28.685630 266.521788 -28.689453 266.519784
    -28.694332 266.521332 -28.699778'
    Some of them have *additional* polygons
    """
    if footprint[:7] != 'Polygon' and footprint[:6] != 'Circle':
        raise ValueError("Unrecognized footprint type")
    try:
        import regions
    except ImportError:
        print('Could not import `regions`, which is required for the '
              'functionality of this function.')
        raise
    reglist = []
    meta = {'source': 1, 'include': 1, 'fixed': 0, 'text': ''}
    visual = {'color': 'green', 'dash': '0', 'dashlist': '8 3',
              'font': '"helvetica 10 normal roman"', 'width': '1'}
    entries = footprint.split()
    if entries[0] == 'Circle':
        center = SkyCoord(float(entries[2]), float(entries[3]), frame='icrs', unit=(u.deg, u.deg))
        reg = regions.CircleSkyRegion(center, radius=float(entries[4])*u.deg,
                                      meta=meta, visual=visual)
        reglist.append(reg)
    else:
        polygons = [index for index, entry in enumerate(entries) if entry == 'Polygon']
        for start, stop in zip(polygons, polygons[1:]+[len(entries)]):
            start += 1
            ra = [float(x) for x in entries[start+1:stop:2]]*u.deg
            dec = [float(x) for x in entries[start+2:stop:2]]*u.deg
            vertices = SkyCoord(ra, dec, frame='icrs')
            reg = regions.PolygonSkyRegion(vertices=vertices, meta=meta, visual=visual)
            reglist.append(reg)
    return reglist