code: func FullRune(p []byte) bool {
  	high, n, short := decodeRune(p)
  	if short {
  		return false
  	}
  	if !utf16.IsSurrogate(high) {
  		return true
  	}
  	_, _, short = decodeRune(p[n:])
  	return !short
  }
docs: // FullRune reports whether the bytes in p begin with a full CESU-8 encoding of a rune.