Also, it'd be good to have a spec that forces you to use `clone` rather than `dup` by passing `all` a DSL-defined custom matcher.  If we were going to use `values_match?` we wouldn't need these specs as that handles it internally but given we have to handle those cases here we should have specs to enforce that.