It seems that when generate_mesh creates a 2D mesh based on a polygonal domain with n vertices, then the first n elements of the mesh are simply the vertices of the polygon. Is this always the case?
domain = Polygon(vertices)
mesh = generate_mesh(domain, s)