> empty :: (Ord k, Ord p) => PSQ k p
> single :: (Ord k, Ord p) => Binding k p -> PSQ k p
> insert :: (Ord k, Ord p) => Binding k p -> PSQ k p -> PSQ k p
> fromOrdList :: (Ord k, Ord p) => [Binding k p] -> PSQ k p
> dataMinView k p = Empty | Min (Binding k p) (PSQ k p)
> minView :: (Ord k, Ord p) => PSQ k p -> MinView k p
> delete :: (Ord k, Ord p) => k -> PSQ k p -> PSQ k p
> lookup :: (Ord k, Ord p) => k -> PSQ k p -> Maybe p
> toOrdList :: (Ord k, Ord p) => PSQ k p -> [Binding k p]
> atMost :: (Ord k, Ord p) => p -> PSQ k p -> [Binding k p]
> atMostRange :: (Ord k, Ord p) => p -> (k, k) -> PSQ k p -> [Binding k p]