def ul(items, bullet='-'):
    """ Render the given `items` as a `bullet list
    <http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#bullet-lists>`_.
    `items` must be an iterable whose elements are strings.
    
    If at least one item contains more than one paragraph,
    then all items are separated by an additional blank line.
    
    >>> print(ul(["Foo", "Bar", "Baz"]))
    - Foo
    - Bar
    - Baz
    <BLANKLINE>
    >>> print(ul([
    ...   "Foo", "An item\\nwith several lines of text.", "Bar"]))
    - Foo
    - An item
      with several lines of text.
    - Bar
    <BLANKLINE>
    >>> print(ul([
    ...   "A first item\\nwith several lines of text.",
    ...   "Another item with a nested paragraph:\\n\\n  Like this.\\n\\nWow."]))
    <BLANKLINE>
    - A first item
      with several lines of text.
    <BLANKLINE>
    - Another item with a nested paragraph:
    <BLANKLINE>
        Like this.
    <BLANKLINE>
      Wow.
    <BLANKLINE>

    """
    s = ''
    compressed = True
    for i in items:
        if '\n\n' in i:
            compressed = False
            break
    innersep = '\n' + ' ' * (len(bullet) + 1)
    if compressed:
        for i in items:
            text = innersep.join(i.splitlines())
            s += '%s %s\n' % (bullet, text)
    else:
        for i in items:
            text = innersep.join(i.splitlines())
            s += '\n%s %s\n' % (bullet, text)
    return s
