This doesn't cater to the (perfectly valid) case of implementing errors by hand as:
```
def errors
  @errors ||= ActiveModel::Errors.new
end
```

perhaps this could be:

```
if actual.respond_to?(:errors)
  errors = 
    if actual.errors.respond_to?(:full_messages)
      actual.errors.full_messages
    else
      actual.errors
    end
  message << ", but got errors: #{errors.join(', ')}"
end
```