code: function read_wrapped_delimited_list(lexer, start, end, initial, separatorRE) {
  
    var list = read_delimited_list(lexer, start, end, initial, separatorRE);
    if(list.length === 1) // DEL? &&
  // DEL?    (sl.isList(list[0]) || sl.typeOf(list[0]) === 'boolean'))
    {
        // there's an extra nesting level than needed:
        list = list[0];
    }
    return list;
  }
docs: in javascript certain parens e.g. around conditions for "if" and
  "while" etc. are *required* as part of the grammar.  This function
  accommodates that by "reaching inside" those parens when they wouldn't
  (in a lispy world) have been needed, or otherwise returns the
  s-expression normally.  Consider e.g.:
  if(true) {...}
  versus
  if(x > y) {...}
  in the first case we simply return the atom true, whereas in the second
  case the list (> x y).