One less syscall and error path to check, and feels like a cleaner approach. The commit adds two lines, but that's because we actually handle the potential error now.