def year_slice(df, first_year=None, date_col='start_date'):
    """Return slice of df containing all rows with df[date_col].dt.year >= first_year.

    Returns df if first_year is None.
    """
    if first_year is None:
        return df
    if first_year <= df[date_col].min().year:
        # No need to slice
        return df
    return df[df[date_col] >= f"{first_year}-01-01"]