Errors should not be parsed by just humans! Error paths are at least as important as other paths in the system. For e.g. there should be call to map to error number to appropriate string in any language. The language used should be standard size (80 cols?) for braille terminals etc. Should be no english or any other text directly printed. For e.g. bash prints the prompt (user interaction) on stderr!! I.E. it assumes stderr will always go to a human, and procludes the special treatment of errors (like logging/colouring/...).