docs: def add_headers(width=80, title='Untitled', subtitle='', author='', email='',
          description='', tunings=[]):
      """Create a nice header in the form of a list of strings using the
      information that has been filled in.
  
      All arguments except 'width' and 'tunings' should be strings. 'width'
      should be an integer and 'tunings' a list of tunings representing the
      instruments.
      """
      result = ['']
      title = str.upper(title)
      result += [str.center('  '.join(title), width)]
      if subtitle != '':
          result += ['', str.center(str.title(subtitle), width)]
      if author != '' or email != '':
          result += ['', '']
          if email != '':
              result += [str.center('Written by: %s <%s>' % (author, email),
                         width)]
          else:
              result += [str.center('Written by: %s' % author, width)]
      if description != '':
          result += ['', '']
          words = description.split()
          lines = []
          line = []
          last = 0
          for word in words:
              if len(word) + last < width - 10:
                  line.append(word)
                  last += len(word) + 1
              else:
                  lines.append(line)
                  line = [word]
                  last = len(word) + 1
          lines.append(line)
          for line in lines:
              result += [str.center(' '.join(line), width)]
      if tunings != []:
          result += ['', '', str.center('Instruments', width)]
          for (i, tuning) in enumerate(tunings):
              result += ['', str.center('%d. %s' % (i + 1, tuning.instrument),
                         width), str.center(tuning.description, width)]
      result += ['', '']
      return result