code: func Syllables(word string) int {
  	// See if we can leave early ...
  	length := utf8.RuneCountInString(word)
  	if length < 1 {
  		return 0
  	} else if length < 3 {
  		return 1
  	}
  
  	// See if this is a known cornercase ...
  	word = strings.ToLower(word)
  	if syllables, ok := cornercases[word]; ok {
  		return syllables
  	}
  	text, count := clean(word)
  
  	// Count multiple vowels
  	count += len(vowels.FindAllString(text, -1))
  
  	count -= len(monosyllabicOne.FindAllString(text, -1))
  	count -= len(monosyllabicTwo.FindAllString(text, -1))
  
  	count += len(doubleSyllabicOne.FindAllString(text, -1))
  	count += len(doubleSyllabicTwo.FindAllString(text, -1))
  	count += len(doubleSyllabicThree.FindAllString(text, -1))
  	count += len(doubleSyllabicFour.FindAllString(text, -1))
  
  	if count < 1 {
  		return 1
  	}
  	return count
  }
docs: // Syllables returns the number of syllables in the string word.
  //
  // NOTE: This function expects a word (not raw text) as input.