when/how would you get an `IOError` from `realpath`? And why are you considering `IOError` only and not `OSError` as well? Is it OK to not handle `OSError`?