code: func digitVal(ch rune) int {
  	switch {
  	case '0' <= ch && ch <= '9':
  		return int(ch - '0')
  	case 'a' <= ch && ch <= 'f':
  		return int(ch - 'a' + 10)
  	case 'A' <= ch && ch <= 'F':
  		return int(ch - 'A' + 10)
  	}
  	return 16 // Larger than any legal digit val.
  }
docs: // digitVal returns the digit value of a rune or 16 in case the rune does not
  // represent a valid digit.