<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def geometrize_stops(stops: List[str], *, use_utm: bool = False) -> DataFrame: """ Given a stops DataFrame, convert it to a GeoPandas GeoDataFrame and return the result. Parameters stops : DataFrame A GTFS stops table use_utm : boolean If ``True``, then convert the output to local UTM coordinates; otherwise use WGS84 coordinates Returns ------- GeoPandas GeoDataFrame Looks like the given stops DataFrame, but has a ``'geometry'`` column of Shapely Point objects that replaces the ``'stop_lon'`` and ``'stop_lat'`` columns. Notes ----- Requires GeoPandas. """

    import geopandas as gpd

    g = (
        stops.assign(
            geometry=lambda x: [
                sg.Point(p) for p in x[["stop_lon", "stop_lat"]].values
            ]
        )
        .drop(["stop_lon", "stop_lat"], axis=1)
        .pipe(lambda x: gpd.GeoDataFrame(x, crs=cs.WGS84))
    )

    if use_utm:
        lat, lon = stops.loc[0, ["stop_lat", "stop_lon"]].values
        crs = hp.get_utm_crs(lat, lon)
        g = g.to_crs(crs)

    return g