We shouldn't have a defaulted of `NoSuchElementException` because this implementation is meant to be more generic