docs: function stringify (input, {
    commentPrefix = '# ',
    defaultKey = '',
    indent = '    ',
    keySep = ' = ',
    latin1 = true,
    lineWidth = 80,
    newline = '\n',
    pathSep = '.'
  } = {}) {
    if (!input) return ''
    if (!Array.isArray(input)) input = toLines(input, pathSep, defaultKey)
    const foldLine = getFold({ indent, latin1, lineWidth, newline: '\\' + newline })
    const foldComment = getFold({ indent: commentPrefix, latin1, lineWidth, newline })
    return input
      .map(line => {
        switch (true) {
          case !line:
            return ''
          case Array.isArray(line):
            const key = escapeKey(line[0])
            const value = escapeValue(line[1])
            return foldLine(key + keySep + value)
          default:
            const cc = String(line).replace(/^\s*([#!][ \t\f]*)?/g, commentPrefix)
            return foldComment(cc)
        }
      })
      .join(newline)
  }