def try_flatten(sequence):
    """
    trying to flatten a sequence;
    - if it is none or empty, return none
    - if len(it)==1, return it's only element(FLATTEN)
    - if len(it)>1, return itself untouched
    :param sequence:
    :return:
    """
    if sequence is None or len(sequence) == 0:
        return None
    if len(sequence) == 1:
        return tuple(sequence)[0]
    return sequence
