code: func ReadAll(r Reader) (arr []Quad, err error) {
  	switch rt := r.(type) {
  	case *Quads:
  		arr = make([]Quad, len(rt.s))
  		copy(arr, rt.s)
  		rt.s = nil
  		return
  	}
  	var q Quad
  	for {
  		q, err = r.ReadQuad()
  		if err == io.EOF {
  			return arr, nil
  		} else if err != nil {
  			return nil, err
  		}
  		arr = append(arr, q)
  	}
  }
docs: // ReadAll reads all quads from r until EOF.
  // It returns a slice with all quads that were read and an error, if any.