from typing import Any


def is_reference(key: Any) -> bool:
    """Is this key a reference to output from elsewhere in the chores.

    A reference has the form ^chore(.output)? where `chore` is the name of the
    node you are consuming output from and `output` is either a name or a
    number to tell which part of the output to take.

    :param key: A key to test
    :returns: `True` if its a reference
    """
    return isinstance(key, str) and key.startswith('^')