Various fixes

This should return `-e.errno`.