The description of context.TODO() is
TODO returns a non-nil, empty Context. Code should use context.TODO when it’s unclear which Context to use or it is not yet available (because the surrounding function has not yet been extended to accept a Context parameter).
Are you using context.TODO() for documentation purposes only?
The description of context.Background()
Background returns a non-nil, empty Context. It is never canceled, has no values, and has no deadline. It is typically used by the main function, initialization, and tests, and as the top-level Context for incoming requests.
I’ve been working with Go for the last 7 years and maybe I’ve missed something obvious, but shouldn’t this be mentioned in the documentation?
Or is context.TODO actually the preferred context?