docs: def parse_polygonal_poi(coords, response):
      """
      Parse areal POI way polygons from OSM node coords.
  
      Parameters
      ----------
      coords : dict
          dict of node IDs and their lat, lon coordinates
  
      Returns
      -------
      dict of POIs containing each's nodes, polygon geometry, and osmid
      """
  
      if 'type' in response and response['type'] == 'way':
          nodes = response['nodes']
          try:
              polygon = Polygon([(coords[node]['lon'], coords[node]['lat']) for node in nodes])
  
              poi = {'nodes': nodes,
                     'geometry': polygon,
                     'osmid': response['id']}
  
              if 'tags' in response:
                  for tag in response['tags']:
                      poi[tag] = response['tags'][tag]
              return poi
  
          except Exception:
              log('Polygon has invalid geometry: {}'.format(nodes))
      
      return None