IMHO we should ask the coercer of the coercion is successful?

```
coercer = Coercer.new(input)
coercer.success? # true | false
coercer.output
```

This way a coercer can decide if a coercion is successful also you can have polymorphic results. 

I use the same strategy in ducktrap.