def METHOD_NAME(polygon: Polygon):
    """Constructs a compound matplotlib path from a Shapely or GeoJSON-like
    geometric object
    Args:
        polygon (Polygon): polygon
    Returns:
        Path: compound matplotlib path
    """
    this = Polygon(polygon)
    assert this.geom_type == 'Polygon'
    def coding(ob):
        # The codes will be all "LINETO" commands, except for "MOVETO"s at the
        # beginning of each subpath
        n = len(getattr(ob, 'coords', None) or ob)
        vals = ones(n, dtype=Path.code_type) * Path.LINETO
        vals[0] = Path.MOVETO
        return vals
    vertices = concatenate([asarray(this.exterior.coords)[:, :2]] +
                           [asarray(r.coords)[:, :2] for r in this.interiors])
    codes = concatenate([coding(this.exterior)] +
                        [coding(r) for r in this.interiors])
    return Path(vertices, codes)