docs: def _check_mode(mode):
      """Check if mode is valid and return its integer representation."""
      if not isinstance(mode, (_unicode, str)):
          raise TypeError("Invalid mode: {0!r}".format(mode))
      mode_set = set(mode)
      if mode_set.difference('xrwb+') or len(mode) > len(mode_set):
          raise ValueError("Invalid mode: {0!r}".format(mode))
      if len(mode_set.intersection('xrw')) != 1:
          raise ValueError("mode must contain exactly one of 'xrw'")
  
      if '+' in mode_set:
          mode_int = _snd.SFM_RDWR
      elif 'r' in mode_set:
          mode_int = _snd.SFM_READ
      else:
          mode_int = _snd.SFM_WRITE
      return mode_int