It means that you can't do this:

``` ruby
  def process(zk, path, options = {})
    ZK::NodeDeletionWatcher.new(zk, path, :threshold => options[:deletion_threshold])
  end
```

Instead, you have to do a dance where you create a specific options hash to be passed into that code, and then pass that in, depending on if you had `:deletion_threshold` passed into your options hash or not.

I've been bitten by this API design (as well as using `Hash#has_key?()`) many times and it leads to much uglier client code.