docs: def NumbersToWords(number):
      """
      little function that converts numbers to words. This could be more efficient,
      and won't work if the number is bigger than 999 but it's for stave names,
      and I doubt any part would have more than 10 staves let alone 999.
      """
  
      units = [
          'one',
          'two',
          'three',
          'four',
          'five',
          'six',
          'seven',
          'eight',
          'nine']
      tens = [
          'ten',
          'twenty',
          'thirty',
          'forty',
          'fifty',
          'sixty',
          'seventy',
          'eighty',
          'ninety']
      output = ""
      if number != 0:
          str_val = str(number)
          if 4 > len(str_val) > 2:
              output += units[int(str_val[0]) - 1]
              output += "hundred"
              if str_val[1] != 0:
                  output += "and" + tens[int(str_val[1]) - 1]
                  if str_val[2] != 0:
                      output += units[int(str_val[2]) - 1]
          if 3 > len(str_val) > 1:
              output += tens[int(str_val[0]) - 1]
              if str_val[1] != 0:
                  output += units[int(str_val[1]) - 1]
          if 2 > len(str_val) == 1:
              output += units[int(str_val[0]) - 1]
      else:
          output = "zero"
      return output