package ds type Stack[T any] interface { Addable[T] Sized Clearable Push(value T) Pop() T Peek() T PeekAt(index int) T }