docs: def conj_phrase(list_, cond='or'):
      """
      Joins a list of words using English conjunction rules
  
      Args:
          list_ (list):  of strings
          cond (str): a conjunction (or, and, but)
  
      Returns:
          str: the joined cconjunction phrase
  
      References:
          http://en.wikipedia.org/wiki/Conjunction_(grammar)
  
      Example:
          >>> # ENABLE_DOCTEST
          >>> from utool.util_str import *  # NOQA
          >>> list_ = ['a', 'b', 'c']
          >>> result = conj_phrase(list_, 'or')
          >>> print(result)
          a, b, or c
  
      Example1:
          >>> # ENABLE_DOCTEST
          >>> from utool.util_str import *  # NOQA
          >>> list_ = ['a', 'b']
          >>> result = conj_phrase(list_, 'and')
          >>> print(result)
          a and b
      """
      if len(list_) == 0:
          return ''
      elif len(list_) == 1:
          return list_[0]
      elif len(list_) == 2:
          return ' '.join((list_[0], cond, list_[1]))
      else:
          condstr = ''.join((', ' + cond, ' '))
          return ', '.join((', '.join(list_[:-2]), condstr.join(list_[-2:])))