Well three values is a little weird because it's unusual. Also, if we are supporting channel based iteration in place of manual iteration, I don't believe you can make a multiple value channel. Added a BranchInfo struct to encapsulate this info.