code: @Override
      @ConstantTime(amortized = true)
      public AddressableHeap.Handle<K, V> insert(K key, V value) {
          if (other != this) {
              throw new IllegalStateException("A heap cannot be used after a meld");
          }
          if (key == null) {
              throw new NullPointerException("Null keys not permitted");
          }
          Node<K, V> n = new Node<K, V>(this, key, value);
          addToRootList(n);
          size++;
          return n;
      }
docs: {@inheritDoc}
  
  @throws IllegalStateException
  if the heap has already been used in the right hand side of a
  meld