@solnic, in your example you used:

```ruby
MyCustomVirtusModule = Virtus.configure { |config|
  config.coercion = true
  # some extra conf should be possible too
  config.string.boolean_map = { 'yup' => true, 'nope' => false }
}

class Book
  include MyCustomVirtusModule

  attribute :published, Boolean
end
```

The use of `.configure` here was misleading to me. It felt like it was still configuring Virtus as a whole. I went with `.module`:

```ruby
MyCustomVirtusModule = Virtus.module do |mod|
  mod.coerce = true

  mod.coercer do |coercer|
    coercer.string.boolean_map = { 'yup' => true, 'nope' => false }
  end
end

class Book
  include MyCustomVirtusModule

  attribute :published, Boolean
end
```

I like the way that tells us we're creating a module and then exposes the coercer inside the block. What do you think?