code: func (c *Client) Clone(opts ...Option) *Client {
  	tf := c.conn.tagFormat
  	conf := &config{
  		Client: clientConfig{
  			Rate:   c.rate,
  			Prefix: c.prefix,
  			Tags:   splitTags(tf, c.tags),
  		},
  	}
  	for _, o := range opts {
  		o(conf)
  	}
  
  	clone := &Client{
  		conn:   c.conn,
  		muted:  c.muted || conf.Client.Muted,
  		rate:   conf.Client.Rate,
  		prefix: conf.Client.Prefix,
  		tags:   joinTags(tf, conf.Client.Tags),
  	}
  	clone.conn = c.conn
  	return clone
  }
docs: // Clone returns a clone of the Client. The cloned Client inherits its
  // configuration from its parent.
  //
  // All cloned Clients share the same connection, so cloning a Client is a cheap
  // operation.