Create a new AbiCoder instance, which will call the *coerceFunc* on every decode, where the result of the call will be used in the Result.
The function signature is `(type, value)`, where the *type* is the string describing the type and the *value* is the processed value from the underlying Coder.
If the callback throws, the Result will contain a property that when accessed will throw, allowing for higher level libraries to recover from data errors.