code: func ReadValue(r *bufio.Reader) (Value, bool) {
  	ReadWhitespace(r)
  	c, err := peek(r)
  	if err != nil {
  		return nil, true
  	}
  	switch c {
  	case '(':
  		return ReadList(r), false
  	case ')':
  		return nil, true
  	case '"':
  		return ReadString(r), false
  	case '#':
  		return ReadBigNum(r), false
  	default:
  		return ReadSymbol(r), false
  	}
  }
docs: // ReadValue will read and return an S-Expression value from the reader