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 );
          }
        }
      }
// so is an array of content
so is an array of content
so is an array of content
function add(li, loose, inline, nl) {
        if (loose) {
            li.push( [ "para" ].concat(inline) );
          return;
        }
        var add_to = li[li.length -1] instanceof Array && li[li.length - 1][0] == "para"
                   ? li[li.length -1]
                   : li;
        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 );
          }
        }
      }
function add ( li , loose , inline , nl ) { if ( loose ) { li . push ( [ "para" ] . concat ( inline ) ) ; return ; } var add_to = li [ li . length - 1 ] instanceof Array && li [ li . length - 1 ] [ 0 ] == "para" ? li [ li . length - 1 ] : li ; 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 ) ; } } }
so is an array of content
so is an array of content
// Hmmm, should this be any block level element or just paras? // If there is already some content in this list, add the new line in