 		let result = children[minIndex].element
 		let formerMin = children.remove(at: minIndex)
 		
-		merge(with: formerMin.children, ignoreMinimum: false)
+		merge(with: formerMin.children)
 		
 		return result
 	}

		self.order = order
	}
	
	mutating func merge(with heads: [BinomialTreeNode<Element>], ignoreMinimum: Bool) {
		guard children.count > 0 else { children = heads; resetMinIndex(); return }
		
		var treesNew = [BinomialTreeNode<Element>]()

			var a : BinomialTreeNode<Element>? = nil
			var minRank = 0
			
            while treeIndex < children.count {
                let tree = children[treeIndex]
                minRank = tree.rank
                if tree.rank == rank {
                    a = tree
                    treeIndex += 1
                }
                break
            }
			
			var b : BinomialTreeNode<Element>? = nil
			
