code: function add(li, loose, inline, nl) {
          if (loose) {
              li.push( [ "para" ].concat(inline) );
            return;
          }
          // Hmmm, should this be any block level element or just paras?
          var add_to = li[li.length -1] instanceof Array && li[li.length - 1][0] == "para"
                     ? li[li.length -1]
                     : li;
  
          // If there is already some content in this list, add the new line in
          if (nl && li.length > 1) inline.unshift(nl);
  
          for (var i=0; i < inline.length; i++) {
            var what = inline[i],
                is_str = typeof what == "string";
            if (is_str && add_to.length > 1 && typeof add_to[add_to.length-1] == "string" )
            {
              add_to[ add_to.length-1 ] += what;
            }
            else {
              add_to.push( what );
            }
          }
        }
docs: Add inline content `inline` to `li`. inline comes from processInline so is an array of content