docs: def analyse_body_paragraph(body_paragraph, labels=None):
      """Analyse commit body paragraph and return (label, message).
  
      >>> analyse_body_paragraph('* BETTER Foo and bar.',
      >>> ... {'BETTER': 'Improvements'})
      ('BETTER', 'Foo and bar.')
      >>> analyse_body_paragraph('* Foo and bar.')
      (None, 'Foo and bar.')
      >>> analyse_body_paragraph('Foo and bar.')
      (None, None)
      """
      # try to find leading label first:
      for label, dummy in labels:
          if body_paragraph.startswith('* ' + label):
              return (label, body_paragraph[len(label) + 3:].replace('\n  ',
                                                                     ' '))
      # no conformed leading label found; do we have leading asterisk?
      if body_paragraph.startswith('* '):
          return (None, body_paragraph[2:].replace('\n  ', ' '))
      # no leading asterisk found; ignore this paragraph silently:
      return (None, None)