the each_with_index version is ugly as hell:
```ruby
def errors
  @errors ||= error_models
    .flat_map do |model|
      model.errors.map do |field, message| 
        { object: model, field: field, message: message }
      end
    end.each_with_index.map do |error_details, number|
      { number: number }.merge(error_details)
    end 
end
```
its much easier to follow as it stands