If `entities` could contain keys without an entity (it couldn't unless you've changed it since), that might be needed. However, I meant lifting [the linked check](https://github.com/adambird/entity_store/blob/404f1ff8095eb4c36cb21b70cfcc4c4c0bb4f6d3/lib/entity_store/store.rb#L98-101) to avoid redundant work.

```ruby
# Do this
if options.fetch(:raise_exception, true)
  ids.each do |id|
    raise "Unexpected entity with id=#{id} returned" unless entities[id]
  end
end

# Before this
events = storage_client.get_events_for_criteria(criteria)
```