Should have commented it, but... it tries to accommodate existing code that
either silently ignores errors on purpose or handles error reporting at call site.
And uses debug logging if neither of those applies.