func New[T any](values ...T) *Stack[T] {
	stack := Stack[T]{make([]T, 0, len(values))}
	stack.Push(values...)
	return &stack
}
// New factory to generate new stacks
New factory to generate new stacks
// New factory to generate new stacks
func New[T any](values ...T) *Stack[T] {
	stack := Stack[T]{make([]T, 0, len(values))}
	stack.Push(values...)
	return &stack
}
func New [ T any ] ( values ... T ) * Stack [ T ] { stack := Stack [ T ] { make ( [ ] T , 0 , len ( values ) ) } stack . Push ( values ... ) return & stack }
New factory to generate new stacks
New factory to generate new stacks