def is_true(input_string):
    """
    Return True if the input is a boolean True, or a string that
    matches 'true' or 'yes' (case-insensitive).

    Return False for all other string inputs.

    Raise ValueError otherwise.
    """
    if isinstance(input_string, bool):
        return input_string # Return as-is
    if isinstance(input_string, str):
        return input_string.lower() in ['true', 'yes']
    raise TypeError("Expected True/False. Got {}".format(input_string))