fix: don't use control flow when extracted fn contains tail expr of original fn Fixes #10113 Fixes #15061
union