A heap is a container supporting the insertion of elements and the extraction of the minimum element. This library additionally supports melding two heaps. This library models the implementation of asymptotically optimal purely functional heaps given by Brodal and Okasaki in their paper "Optimal Purely Functional Priority Queues". It has been proved correct using the Coq proof assistant.