polygamous.js
function branchMatching(value, branches) {
  var i = branches.length
  while (i--)
    if (equal(value, branches[i].condition))  return branches[i]

  return { condition: null, code: null }
}
function branchMatching(value, branches) {
  var i = branches.length
  while (i--)
    if (equal(value, branches[i].condition))  return branches[i]

  return { condition: null, code: null }
}
### Function branchMatching  Returns the branch matching a dispatch value.  :: A, [branch A] -> maybe (branch A)