Salvaged from #40381; cleaned up, re-verified against main, tests added. Co-authored-by: zapabob <zapabob@users.noreply.github.com>
Salvaged from #40381; cleaned up, re-verified against main, tests added. Co-authored-by: zapabob <zapabob@users.noreply.github.com>