package ds type Queue[T any] interface { Addable[T] Sized Clearable Enqueue(value T) Dequeue() T Peek() T PeekAt(index int) T }