code: func (nk *nick) Nick() *Nick {
  	n := &Nick{
  		Nick:     nk.nick,
  		Ident:    nk.ident,
  		Host:     nk.host,
  		Name:     nk.name,
  		Modes:    nk.modes.Copy(),
  		Channels: make(map[string]*ChanPrivs),
  	}
  	for c, cp := range nk.chans {
  		n.Channels[c.name] = cp.Copy()
  	}
  	return n
  }
docs: // Returns a copy of the internal tracker nick state at this time.
  // Relies on tracker-level locking for concurrent access.