The macros poly-branch-tag and poly-branch-func are redundant. The second one does everything that is needed. The current poly-branch-tag should be eliminated, and poly-branch-func should be renamed to poly-branch-tag.