>> I guess that "wrong number of arguments" can be handled by >> (lambda args ...). Still, the above feels much safer. > Not sure what you mean, but the above snippet is OK. I thought that it's possible to remove 'match' and get the "wrong number of arguments" from (strerror ...). But now I'm not sure. "wrong number of arguments" should be handled by 'wrong-number-of-args', not 'system-error'. So I'll use the proposed version.