Why does `first` not return nullable?

Probably, it’s for the cases when you are quite confident that there will be at least one matching item. For other ones there is firstOrNull function.