code: func Size(p []byte) int {
  	n := 0
  	for i := 0; i < len(p); {
  		r, size, _ := decodeRune(p[i:])
  		i += size
  		n += RuneLen(r)
  	}
  	return n
  }
docs: // Size returns the amount of bytes needed to encode an UTF-8 byte slice to CESU-8.