Avoid repeated definition of the same function
Currently function arguments are given the names of the branches that will be passed to them, and the symbol definition cache does not detect if the same is passed twice. This is not a problem per se, but it would be more efficient (and a bit more readable in the output) if the previous definition would be reused.