úÎ e ) Safe-Infered(A simple alias so we have pretty types. FReturns an empty PQueue with the specified number of priority levels. HRecursively tries to read each priority level until it finds something.  If it can'1t find any events it returns Nothing. Call using  atomically $  getThing pqueue. @Writes the given something to the given PQueue at the specified D priority level. It does some checking to make sure we have a valid  priority level. Call using -atomically $ writeThing pqueue priority thing. The number of priority levels  The PQueue The PQueue to search Just the item or Nothing. The PQueue to write to The priority level The thing to write Pup-Events-PQueue-1.0PupEventsPQueuePQueue makeQueuesgetThing writeThing