import typing


def get_title_for_property(
        path: typing.List[str],
        schema: typing.Dict[str, typing.Any]
) -> str:
    """
    Return the title path for a given property.

    The title path consists of the individual titles or indices, joined by the
    rightwards arrow symbol.

    :param path: the path to a property
    :param schema: the object schema
    :return: the title path
    """
    try:
        subschema = schema
        title_path = []
        for key in path:
            if isinstance(key, str):
                subschema = subschema['properties'][key]
                if isinstance(subschema['title'], dict):
                    title_path.append(subschema['title'].get('en', subschema['title']))
                else:
                    title_path.append(subschema['title'])
            else:
                subschema = subschema['items']
                title_path.append(key)
    except Exception:
        title_path = path
    return ' → '.join(map(str, title_path))