t() :: {non_neg_integer(), non_neg_integer(), :queue.queue()}
enqueue(t(), any()) :: t()
filter(t(), (any() -> boolean())) :: t()
new(non_neg_integer()) :: t()
underlying_queue(t()) :: :queue.queue()