bpo-42967: Fix urllib.parse docs and make logic clearer (GH-24536)

diff --git a/Lib/urllib/parse.py b/Lib/urllib/parse.py
index 5bd0678..335e183 100644
--- a/Lib/urllib/parse.py
+++ b/Lib/urllib/parse.py
@@ -734,8 +734,7 @@ def parse_qsl(qs, keep_blank_values=False, strict_parsing=False,
     """
     qs, _coerce_result = _coerce_args(qs)
 
-    if not separator or (not isinstance(separator, str)
-        and not isinstance(separator, bytes)):
+    if not separator or (not isinstance(separator, (str, bytes))):
         raise ValueError("Separator must be of type string or bytes.")
 
     # If max_num_fields is defined then check that the number of fields