There are *so many* ways that reading a text file can fail.
Maybe it doesn't exist, it's a broken symlink, it's actually a directory, it's not the encoding you expected, or perhaps you just don't have the correct permissions.
Reporting good errors is surprisingly labour intensive.
I'm working on arity errors in Garden, my toy programming language.
Rather than just saying "expected 3, got 4 arguments", I'm trying to report where the extra argument is, or what extra argument was expected.
I find it really interesting how some areas of tech are widely expected to improve radically (e.g. LLMs and smart home tech), others gradually (CPU speed, battery capacity) and others very slowly (e.g. compiler optimisations).
Predicting the future is hard.