Hm I'm just wondering if there's an overhead to calling search twice.

Maybe we can use a break or return kind of statement to exit the block, like so:

```rb
KeywordSearch.search(query) do |with|
  delegate = false

  with.default_keyword :any

  with.keyword :email do |emails|
    delegate = true
  end

  with.keyword :any do |terms|
    delegate = true
  end

  break if delegate

  # Other with's and rest of the local search in here
  return something
end
# Delegate code here
```