What about implementing both?
Please choose one; there’s no need to define two new things that serve the same purpose.
I would prefer tap to maintain flexibility. I might want to use a logger or an OpenTelemetry wrapper instead.
Console.logAndReturn feels clunky. Console.log is designed as a binding, and we already have enough overloads as it is. Additionally, I don’t think we want users to request more XYZAndReturn helpers.