This could be neater, but the important thing is to *not* memorise during initial passes until configuration has an output stream (deprecation stream already defaults to $stderr)