Hi,
I was thinking about this code: states.Where(s => s is T).FirstOrDefault() (also same for the other occurence).
If we do not need to make a field out of values, then I think this code: states.FirstOrDefault(s => s is T) will serve same purpose and save some processing power, even if it is minor in this age.
I am not a pro, so I might be mistaken.
Thank you