def these(what, where=None):
    """
    Combinator for yielding multiple values with property access.

    Yields from the values generated by an attribute of the given object, or
    the values generated by the given object itself if no attribute key is
    specified.

    Examples:

    No attribute key specified; yields from the given object:
    >>> these(['foo', 'bar'])
    ['foo', 'bar']

    An attribute key is specified; yields from the values generated by the
    specified attribute's value:
    object:
    >>> these({'foo': ['bar', 'baz']}, 'foo')
    ['bar', 'baz']

    An invalid attribute key is specified; yields nothing:
    >>> these({'foo': ['bar', 'baz']}, 'meh')
    []
    """

    if not where:
        return what
    return what[where] if where in what else []