If you don’t need to change the times for the entries and only use enqueue and dequeue you can make your queue a
PriorityQueue{Base.RefValue{Any} , Float16}()
and enqueue and dequeue only Ref{Any}(your_value). Then Julia can handle them efficiently until you need to unbox. You could even figure out a HashedRef too.