The TryRemove(K) method implementation retrieves the value associated with the given key, but does not return that value. This means that if we need the value associated with the given key, we need to first invoke TryGet(K, out V) to get the value and then invoke TryRemove(K), which is wasteful.