I think it would be really nice to support kwargs for the creation of the matcher

    obj | should.have_props(foo='Foo', bar='Bar')

This should be easy enough with something like:

    def __init__(self, value_matchers=None, **kwargs):
        if value_matchers is None:
            value_matchers = kwargs
        ...

what do you think?