code: func ReadListItem(r *bufio.Reader) Value {
  	ReadWhitespace(r)
  	val, end := ReadValue(r)
  	if end {
  		return Snil{}
  	}
  	return Cons{val, ReadListItem(r)}
  }
docs: // ReadListItem recursively read a list item and the next potential item