Module type Heap.S
- val empty : t
- The empty heap 
- val add : elt -> t -> t
- add x hreturns a new heap containing the elements of- h, plus- x; complexity- $O(log(n))- $
- val maximum : t -> elt
- maximum hreturns the maximum element of- h; raises- EmptyHeapwhen- his empty; complexity- $O(1)- $
- val remove : t -> t
- remove hreturns a new heap containing the elements of- h, except the maximum of- h; raises- EmptyHeapwhen- his empty; complexity- $O(log(n))- $