code: func GetUserSpecialDir(directory UserDirectory) (string, error) {
  	c := C.g_get_user_special_dir(C.GUserDirectory(directory))
  	if c == nil {
  		return "", errNilPtr
  	}
  	return C.GoString((*C.char)(c)), nil
  }
docs: // GetUserSpecialDir is a wrapper around g_get_user_special_dir().  A
  // non-nil error is returned in the case that g_get_user_special_dir()
  // returns NULL to differentiate between NULL and an empty string.