def _symbols():
    """(Lazy)load list of all supported symbols (sorted)

    Look into `_data()` for all currency symbols, then sort by length and
    unicode-ord (A-Z is not as relevant as ֏).

    Returns:
        List[unicode]: Sorted list of possible currency symbols.
    """
    global _SYMBOLS
    if _SYMBOLS is None:
        tmp = [(s, 'symbol') for s in _data()['symbol'].keys()]
        tmp += [(s, 'alpha3') for s in _data()['alpha3'].keys()]
        tmp += [(s.name, 'name') for s in _data()['alpha3'].values()]
        _SYMBOLS = sorted(
            tmp,
            key=lambda s: (len(s[0]), ord(s[0][0])),
            reverse=True)

    return _SYMBOLS