Why can an IQueryable provider throw at runtime for a Where predicate that compiles fine, while the same predicate against IEnumerable never does?// q is IQueryable<User> from EF Core q.Where(u => MyHelper.IsValid(u.Name)).ToList();