functor (Ord : OrderedType->
  sig
    type data = Ord.t
    type t
    val create : Heap.MinMaxHeap.data -> Heap.MinMaxHeap.t
    val add : Heap.MinMaxHeap.t -> Heap.MinMaxHeap.data -> unit
    val min : Heap.MinMaxHeap.t -> Heap.MinMaxHeap.data
    val max : Heap.MinMaxHeap.t -> Heap.MinMaxHeap.data
    val remove_min : Heap.MinMaxHeap.t -> Heap.MinMaxHeap.data
    val remove_max : Heap.MinMaxHeap.t -> Heap.MinMaxHeap.data
    val iter : (Heap.MinMaxHeap.data -> unit) -> Heap.MinMaxHeap.t -> unit
    val is_empty : Heap.MinMaxHeap.t -> bool
    val size : Heap.MinMaxHeap.t -> int
    val to_string : Heap.MinMaxHeap.t -> string
  end