docs: function fromJSON(json, into) {
    var form;
  
    // ensure the items are wrapped as atoms (with parents) all the way down
    if(Array.isArray(json)) {
      form = into || list();
      json.forEach(function(elem) {
        form.push(fromJSON(elem));
      });
    }
    else if(isPrimitive(json) || (isToken(json) && !isAtom(json))) {
      form = atom(json);
    }
    else if(isList(json) || isAtom(json)) {
      // nothing to do:
      form = json;
    }
    else {
        throw new Error('Unsupported element type in fromJSON: ' + json +
                    ' (type is \'' + typeof json + '\')');
    }
  
    return form;
  }