def METHOD_NAME(cls, initial, predicate, **kwargs):
    """Shrink the value ``initial`` subject to the constraint that it
    satisfies ``predicate``.
    Returns the shrunk value.
    """
    shrinker = cls(initial, predicate, **kwargs)
    shrinker.run()
    return shrinker.current