def playlist_edit(self, playlist, *, name=None, description=None, public=None):
		"""Edit playlist(s).

		Parameters:
			playlist (dict): A playlist dict.
			name (str): Name to give the playlist.
			description (str, Optional): Description to give the playlist.
			make_public (bool, Optional): If ``True`` and account has a subscription,
				make playlist public.
				Default: ``False``

		Returns:
			dict: Playlist information.
		"""

		if all(
			value is None
			for value in (name, description, public)
		):
			raise ValueError(
				'At least one of name, description, or public must be provided'
			)

		playlist_id = playlist['id']
		playlist = self.playlist(playlist_id)

		name = name if name is not None else playlist['name']
		description = (
			description if description is not None else playlist['description']
		)
		share_state = 'PUBLIC' if public else playlist['accessControlled']

		playlist = self._call(
			mc_calls.PlaylistsUpdate,
			playlist_id,
			name,
			description,
			share_state
		).body

		return playlist
Edit playlist(s).

		Parameters:
			playlist (dict): A playlist dict.
			name (str): Name to give the playlist.
			description (str, Optional): Description to give the playlist.
			make_public (bool, Optional): If ``True`` and account has a subscription,
				make playlist public.
				Default: ``False``

		Returns:
			dict: Playlist information.