def choice(*options: str, ignore_case: bool = True):
    """ Return a helper function for checking if the argument is either of the
    given options.

    :param options: Any number of strings to choose from.
    :param ignore_case: Do not compare case-sensitively.
    """

    def wrapped(arg: str):
        # Compare lowercased version
        if ignore_case:
            return arg if arg.lower() in [s.lower() for s in options] else None
        else:
            return arg if arg in options else None

    return wrapped