code: func (heap *FloatingFibonacciHeap) Merge(other *FloatingFibonacciHeap) (FloatingFibonacciHeap, error) {
  
  	if heap == nil || other == nil {
  		return FloatingFibonacciHeap{}, NilError("One of the heaps to merge is nil. Cannot merge")
  	}
  
  	resultSize := heap.size + other.size
  
  	resultMin := mergeLists(heap.min, other.min)
  
  	heap.min = nil
  	other.min = nil
  	heap.size = 0
  	other.size = 0
  
  	return FloatingFibonacciHeap{resultMin, resultSize}, nil
  }
docs: // Merge returns a new Fibonacci heap that contains
  // all of the elements of the two heaps.  Each of the input heaps is
  // destructively modified by having all its elements removed.  You can
  // continue to use those heaps, but be aware that they will be empty
  // after this call completes.