I don't know if I'd actually write something like that in a real program... not because of performance (which isn't good, but merely by a constant factor, so it's not an issue IMHO) but because the errsafe could hide other errors...
that said, the performance, in theory, might actually be better in some cases: lists (but not atoms) will be processed with one less condition.