take(limit) call currently return the normal items up to the limit along with general/exception items, which combined is larger than the given user limit. We want take(limit) to return exactly the number number of items up to limit
See the failing test