Queue data structure
@type t() :: :queue.queue()
@spec insert(t(), any()) :: t()
@spec new() :: t()
@spec out(t()) :: {:empty, t()} | {{:value, any()}, t()}