```ruby 
param: "#{all_keys.map(&:to_sym)}" # => attrs.map(&:to_s).map(&:to_sym), looks weird
```
if you add this method you can hide details of implementation:
```ruby
raise Grape::Exceptions::Validation, param: all_keys, message_key: :exactly_one
...
def all_keys
  attrs.map(&:to_sym)
end
```
but for me, just `attrs.map(&:to_sym)` is good enough.