code: func (s *Semaphore) createSession() (string, error) {
  	session := s.c.Session()
  	se := &SessionEntry{
  		Name:     s.opts.SessionName,
  		TTL:      s.opts.SessionTTL,
  		Behavior: SessionBehaviorDelete,
  	}
  	id, _, err := session.Create(se, nil)
  	if err != nil {
  		return "", err
  	}
  	return id, nil
  }
docs: // createSession is used to create a new managed session