public static IEnumerable<T> OfType<T>(/*this*/ IEnumerable source) {
foreach(object item in source) if(item is T) yield return (T)item;
}