def get_emoji_sequences(age=None, types=None):
    """Return the set of canonical emoji sequences, filtering to those <= age
    if age is not None, and those with type in types (if not a string) or
    type == types (if type is a string) if types is not None.  By default
    all sequences are returned, including those for single emoji."""
    _load_emoji_sequence_data()

    result = _emoji_sequence_data.keys()
    if types is not None:
        if isinstance(types, basestring):
            types = frozenset([types])
        result = [k for k in result if _emoji_sequence_data[k][1] in types]
    if age is not None:
        age = float(age)
        result = [k for k in result if _emoji_sequence_data[k][0] <= age]
    return result