You could still attempt to load what's cached and then set the location if we don't have one set

```ruby
# Eager-load the cached_cookbook so exceptions are raised here an not down the line
cached_cookbook
@location = Location.init(name, version_constraint, options) if @location.nil?
```

Not 100% intuitive that calling `cached_cookbook` will populate the `@location` instance variable, though.