code: func Str(str string) *uint8 {
  	if !strings.HasSuffix(str, "\x00") {
  		panic("str argument missing null terminator: " + str)
  	}
  	header := (*reflect.StringHeader)(unsafe.Pointer(&str))
  	return (*uint8)(unsafe.Pointer(header.Data))
  }
docs: // Str takes a null-terminated Go string and returns its GL-compatible address.
  // This function reaches into Go string storage in an unsafe way so the caller
  // must ensure the string is not garbage collected.