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);