private static bool IsGrouping(TypeInfo type) => type.IsGenericType && (type.GetGenericTypeDefinition() == typeof(IGrouping <,>) || type.GetGenericTypeDefinition() == typeof(IAsyncGrouping <,>));
private static bool IsInstantiable(TypeInfo type) => !type.IsAbstract && !type.IsInterface && (!type.IsGenericType || !type.IsGenericTypeDefinition);