úÎ! r¸     None &'=>?@AX,lazy-priority-queue withCost k0 adds a penalty of k to each value in the queue.lazy-priority-queue=Fold together all stored values that share the same priority.lazy-priority-queueZImposes the given cost on the current computation branch. > cost k = withCost k (pure ())lazy-priority-queue Relax the 2 phantom constraint, allowing the queue to become .lazy-priority-queue@Prune away all stored values more expensive than the given cost.lazy-priority-queuegPrune away all stored values more expensive than the given cost and a less expensive alternative value. lazy-priority-queueUPrune away all stored values except the one with the least penalty, making the queue . lazy-priority-queuefMinimize the queue structure. This operation forces the entire spine of the queue and its every level. lazy-priority-queueIFilter away from the queue the values that the argument function maps to  lazy-priority-queueÿuAssuming the stored values belong to a cancellative monoid, prune away all extraneous values and factors using the supplied function that calculates the sum and difference of the two values, if there is any difference, and the monoid null. > fold (pruneSubsets plusDiff mempty pq) == fold pq > where plusDiff u a > | gcd u a == a = Nothing > | d  -a - gcd u a = Just (u < d, d) lazy-priority-queueZReturns the pair of the GCD of all the penalties and the penalties without the GCD > gcd  *1 rest == f > where (gcd, rest) = stripCommon flazy-priority-queueXSubtract the first argument cost GCD from the cost of every value in the second argumentlazy-priority-queueReturns ( the minimal cost present in the queue,  if the queue is empty.lazy-priority-queueRMaps each item contained in the queue, supplying the item's cost as first argument           !"#!"$%2lazy-priority-queue-0.1.0.1-3MDg7cPzDzuC9BrMYUclU3Data.PriorityQueuePQueuePruned BranchingwithCost foldPeerscost branchable pruneAbovepruneAlternativesAboveprune canonicalfilter pruneSubsets stripCommonstrip leastCost mapWithCost$fApplicativeGround$fFunctorGround$fFoldableGround $fMonadPQueue$fAlternativePQueue$fAlternativePQueue0$fApplicativePQueue$fFunctorPQueue$fFoldablePQueue $fShowGround $fShowPQueueghc-prim GHC.TypesFalsebase GHC.MaybeJustNothing