Jeff Hostetler [off-list ref] writes:
I'm always a little hesitant to change the signature of an existing
function and chasing all of the callers in the middle of another
task. It can sometimes be distracting to reviewers.
Of course we all should be hesitant. In addition to reviewers,
there are topics in flight and topics people are cooking but not
posted that will be affected. So it is perfectly fine to introduce
an enhanced version as needed under different name (but let's not
give it a meaningless name like "foo2" where it is totally unclear
and unexplained what its difference from "foo" is from the name),
but if it is meant as an enhanced version, we should aim to share
the code and rewrite the original in terms of the enhanced one,
instead of simply duplicating to risk unnecessary divergence of the
two functions in the future.
Thanks.