package gls

var (
	symPool = &idPool{}
)

// ContextKey is a throwaway value you can use as a key to a ContextManager
type ContextKey struct{ id uint }

// GenSym will return a brand new, never-before-used ContextKey
func GenSym() ContextKey {
	return ContextKey{id: symPool.Acquire()}
}