:meth:`collect_tags` will iterate over the messages and therefore
             will not allow further iterations.
         """
-        if self._msgs is None:
+        if not self._msgs:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         # collect all tags (returns NULL on error)
     _move_to_next.restype = None
 
     def __next__(self):
-        if self._msgs is None:
+        if not self._msgs:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         if not self._valid(self._msgs):
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
                     is not initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Message._get_message_id(self._msg).decode('utf-8', 'ignore')
 
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
                     is not initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         return Message._get_thread_id(self._msg).decode('utf-8', 'ignore')
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
                     is not initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         msgs_p = Message._get_replies(self._msg)
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
                     is not initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Message._get_date(self._msg)
 
                       is not initialized.
                     * STATUS.NULL_POINTER if any error occured.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         #Returns NULL if any error occurs.
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
               is not initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Message._get_filename(self._msg).decode('utf-8', 'ignore')
 
         Returns a Filenames() generator with all absolute filepaths for
         messages recorded to have the same Message-ID. These files must
         not necessarily have identical content."""
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         files_p = Message._get_filenames(self._msg)
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
               is not initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Message._get_flag(self._msg, flag)
 
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
               is not initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         self._set_flag(self._msg, flag, value)
 
                         is not initialized.
                       * STATUS.NULL_POINTER, on error
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         tags_p = Message._get_tags(self._msg)
                   STATUS.NOT_INITIALIZED
                      The message has not been initialized.
        """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         status = self._add_tag(self._msg, _str(tag))
                    STATUS.NOT_INITIALIZED
                      The message has not been initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         status = self._remove_tag(self._msg, _str(tag))
                    STATUS.NOT_INITIALIZED
                      The message has not been initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         status = self._remove_all_tags(self._msg)
                    STATUS.NOT_INITIALIZED
                      The message has not been initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         status = self._freeze(self._msg)
                    STATUS.NOT_INITIALIZED
                      The message has not been initialized.
         """
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         status = self._thaw(self._msg)
 
         :returns: a :class:`STATUS` value. In short, you want to see
             notmuch.STATUS.SUCCESS here. See there for details."""
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Message._tags_to_maildir_flags(self._msg)
 
 
         :returns: a :class:`STATUS`. In short, you want to see
             notmuch.STATUS.SUCCESS here. See there for details."""
-        if self._msg is None:
+        if not self._msg:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Message._tags_to_maildir_flags(self._msg)
 
     def __hash__(self):
         """Implement hash(), so we can use Message() sets"""
         file = self.get_filename()
-        if file is None:
+        if not file:
             return None
         return hash(file)
 
 
     _move_to_next.restype = None
 
     def __next__(self):
-        if self._threads is None:
+        if not self._threads:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         if not self._valid(self._threads):
                      # next line raises NotmuchError(STATUS.NOT_INITIALIZED)!!!
                      for thread in threads: print thread
         """
-        if self._threads is None:
+        if not self._threads:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         i = 0
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread
                     is not initialized.
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Thread._get_thread_id(self._thread).decode('utf-8', 'ignore')
 
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread
                     is not initialized.
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return self._get_total_messages(self._thread)
 
                       * STATUS.NOT_INITIALIZED if query is not inited
                       * STATUS.NULL_POINTER if search_messages failed
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         msgs_p = Thread._get_toplevel_messages(self._thread)
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the thread
                     is not initialized.
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return self._get_matched_messages(self._thread)
 
         The returned string belongs to 'thread' and will only be valid for
         as long as this Thread() is not deleted.
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         authors = Thread._get_authors(self._thread)
-        if authors is None:
+        if not authors:
             return None
         return authors.decode('UTF-8', 'ignore')
 
         The returned string belongs to 'thread' and will only be valid for
         as long as this Thread() is not deleted.
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         subject = Thread._get_subject(self._thread)
-        if subject is None:
+        if not subject:
             return None
         return subject.decode('UTF-8', 'ignore')
 
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
                     is not initialized.
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Thread._get_newest_date(self._thread)
 
         :exception: :exc:`NotmuchError` STATUS.NOT_INITIALIZED if the message
                     is not initialized.
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
         return Thread._get_oldest_date(self._thread)
 
                         is not initialized.
                       * STATUS.NULL_POINTER, on error
         """
-        if self._thread is None:
+        if not self._thread:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
         tags_p = Thread._get_tags(self._thread)