code: func TargetEntryNew(target string, flags TargetFlags, info uint) (*TargetEntry, error) {
  	cstr := C.CString(target)
  	defer C.free(unsafe.Pointer(cstr))
  	c := C.gtk_target_entry_new((*C.gchar)(cstr), C.guint(flags), C.guint(info))
  	if c == nil {
  		return nil, nilPtrErr
  	}
  	t := (*TargetEntry)(unsafe.Pointer(c))
  	// causes setFinilizer error
  	//	runtime.SetFinalizer(t, (*TargetEntry).free)
  	return t, nil
  }
docs: // TargetEntryNew is a wrapper around gtk_target_entry_new().