from typing import Optional
import random


def shuffle(list_obj: list, return_copy: bool = True) -> Optional[list]:
    """
    Convenience function to shuffle a list, whether in-place or as a copied list
    :param list_obj: The list instance to operate on
    :param return_copy: Return copy or shuffle in-place
    :return: Optional[list]
    """
    if return_copy:
        list_copy = list_obj.copy()
        random.shuffle(list_copy)
        return list_copy
    else:
        random.shuffle(list_obj)