Currently the docs aren't prescriptive enough, which can make switching between tracing backends more difficult. For example, does `recordError` imply: 1. An error occurred during the span, and the span should be considered errored as well, regardless of calls to `setStatus` 2. An error occurred during the span, and the span should be considered errored as well, unless `setStatus` was called with `OK` 3. An error occurred during the span, but the overall status of the span should not be considered errored (unless `setStatus` is also called with `Error`) 4. An error occurred during the span, and as a library we don't attribute any specific semantic meaning to the corresponding status of the span 5. Something else?