úÎ;b5(&      !"#$ %  &'(&'(&'(     )*+,-. /01234567       89:common prefix truncated suffix of xs truncated suffix of xs  split trie ;mPerforms partial matching of two labels and applies an appropriate function upon completing a partial match.  A label, xs.  A label, ys. nA function to be applied when the two strings share some (possibly empty) common prefix and mismatchng tails. A function to be applied when xs is a prefix of ys. A function to be applied when ys is a prefix of xs. A value to be returned when xs == ys. <=>?89:;<=>?89:;<=>? @A@A@AA BCDEFGHIJKLMNO DEFGHIJKLMN DEFGHFGHIJKLMN ÿQA generic type class encapsulating a generic queuelike structure, that supports single-insertion and single-extraction; this abstraction includes priority queues, stacks, and FIFO queues. There are many minimal implementations, so each method lists the prerequisites for its default implementation. Most implementations will implement , ( and ) or , (peek and ) or , and +. (The absolute minimal implementation is , , , and .) JInserts a single element into the queue. The default implementation uses  and . JInserts several elements into the queue. The default implementation uses O. (In some cases, it may be advantageous to override this implementation with xs `` q = q ``  xs.) xAttempts to extract an element from the queue; if the queue is empty, returns Nothing. The default implementation uses peek and . €Gets the element that will next be extracted from the queue, if there is an element available. The default implementation uses . ^Deletes an element from the queue, if the queue is nonempty. The default implementation uses . <Constructs an empty queue. The default implementation uses . KConstructs a queue with a single element. The default implementation uses  and . ZConstructs a queue with all of the elements in the list. The default implementation uses  and . =Gets the size of the queue. The default implementation uses . ?Checks if the queue is empty. The default implementation uses peek. HExtracts every element from the queue. The default implementation uses . gExtracts every element from the queue, with no guarantees upon order. The default implementation uses . “Merges two queues so that the contents of the second queue are inserted into the first queue in extraction order. The default implementation uses  and . Type that only orders on the key, ignoring the value completely; frequently useful in priority queues, so made available here.      PQRS TUV   !WX"!"!"!"Y7A full-fledged priority queue, including empty queues. Z[\3A pairing heap node in the monoid queue; nonempty. ]^_Merges a collection of nodes by performing a balanced fuse and performing an mconcat on all blocks of equal-keyed monoid values. `abcdefA Functor) instance exploited for great justice in  mergeNodes. YdeYdegh#ijklmnopqrstu### $v%wxy$%%$$% $% !"  !"z !"#$%&'()*+,-../01234 5 6 7 8 9:;<=(>?@ABCDEFG H I J K 3 L M N O O P Q R S T U V W X Y Z [ \ ]^_`abUc2defghijkalmnopqrsttuvwxyz{|}a 5 6 ~ €queuelike-1.0.6Data.MQueue.ClassData.MQueue.HeapData.MQueue.ChanData.Queue.ClassData.Queue.PQueueData.Queue.StackData.Queue.QueueData.Queue.TrieQueueData.MQueue.SyncQueueData.MQueue.MonadHelpersData.Queue.TrieQueue.TrieLabelData.Queue.TrieQueue.EdgeData.Queue.QueueHelpers Data.Queue.TrieQueue.MonoidQueue Data.MQueueData.Queue.Instances Data.QueueMQueue MQueueKeynewQueuepushpushAllpoppop_peekisEmptyHeapgetSize blockingPopIQueueQueueKeyinsert insertAllextracttopdeleteempty singletonfromListsizenulltoListtoList_mergemergeAll:->PQueue drawQueueStackQueuecons TrieQueueSyncMQSyncQwithwhen_whileMHunHeapSTHeapSTHarr queryHeaponHeap_ modSTRef_ ensureSizeheapUp unsafePusherpusherheapDownpopperLabelTailSplitmerging labelToList labelFromList testMerging:-IntAccIAHeapQMonoidQHQeltsheap endoMaybefusing'fusingorder fuseMerge fuseMergeMunfoldFBPQTreeTsingleSstkrotMQMForestMNodeNode mergeMNode mergeNodes' mergeNodes extractMQ fromListMQ extractSinglereplace$fFunctorMNodeAccATQTrieforceOrdcatTrieconsTrie mergeTrie compactTrie mergeTriesfin extractTrie fromListTrie withSyncQonSyncMQ