code: func best(input string, potential map[string]*Potential) string {
  	var best string
  	var bestcalc, bonus int
  	for i := 0; i < 4; i++ {
  		for _, pot := range potential {
  			if pot.Leven == 0 {
  				return pot.Term
  			} else if pot.Leven == i {
  				bonus = 0
  				// If the first letter is the same, that's a good sign. Bias these potentials
  				if pot.Term[0] == input[0] {
  					bonus += 100
  				}
  				if pot.Score+bonus > bestcalc {
  					bestcalc = pot.Score + bonus
  					best = pot.Term
  				}
  			}
  		}
  		if bestcalc > 0 {
  			return best
  		}
  	}
  	return best
  }
docs: // From a group of potentials, work out the most likely result