lib/utils.js
function filterAndSortOne (args, adapters) {
  var results = decorateAndFilter(args, adapters)

  if (results.length === 0) {
    return
  }

  // sort
  stable.inplace(results, compare)

  if (results.length > 1 && results[0].toString() === results[1].toString()) {
    throw new Error('Occamsrazor (get): More than one adapter fits')
  }

  // undecorate
  return undecorate(results)[0]
}
function filterAndSortOne (args, adapters) {
  var results = decorateAndFilter(args, adapters)

  if (results.length === 0) {
    return
  }

  // sort
  stable.inplace(results, compare)

  if (results.length > 1 && results[0].toString() === results[1].toString()) {
    throw new Error('Occamsrazor (get): More than one adapter fits')
  }

  // undecorate
  return undecorate(results)[0]
}
get all adapter that validates with args, with the highest score the result is a single adapter (func, validators)