An object that doesn't fit the type matcher should call `#to_h` if available to attempt to coerce it into a data structure that we can handle.