A new implementation of heap based priority queue taking advantage of generics made recently available in the go programming language. This implementation of priority queue is more idiomatic, type safe and more or less has a similar API to Python's heapq or Java's PriorityQueue.