code: func Copy(dst Writer, src Reader) (n int, err error) {
  	if bw, ok := dst.(BatchWriter); ok {
  		return CopyBatch(bw, src, 0)
  	}
  	var q Quad
  	for {
  		q, err = src.ReadQuad()
  		if err == io.EOF {
  			err = nil
  			return
  		} else if err != nil {
  			return
  		}
  		if err = dst.WriteQuad(q); err != nil {
  			return
  		}
  		n++
  	}
  }
docs: // Copy will copy all quads from src to dst. It returns copied quads count and an error, if it failed.
  //
  // Copy will try to cast dst to BatchWriter and will switch to CopyBatch implementation in case of success.