What other values do we allow assigning to `.params=` anyway? This seems fishy (the original code as well). Would expect the inverse:
```ruby
def params=(value)
  @_params = value.is_a?(Parameters) ? value : Parameters.new(value)
end
```