Be specific, avoid variable name conflict.
Avoid confusing branch construct.