code: func Atom(xu *xgbutil.XUtil, name string,
  	onlyIfExists bool) (xproto.Atom, error) {
  
  	// Check the cache first
  	if aid, ok := atomGet(xu, name); ok {
  		return aid, nil
  	}
  
  	reply, err := xproto.InternAtom(xu.Conn(), onlyIfExists,
  		uint16(len(name)), name).Reply()
  	if err != nil {
  		return 0, fmt.Errorf("Atom: Error interning atom '%s': %s", name, err)
  	}
  
  	// If we're here, it means we didn't have this atom cached. So cache it!
  	cacheAtom(xu, name, reply.Atom)
  
  	return reply.Atom, nil
  }
docs: // Atom interns an atom and panics if there is any error.