def str2bool(testcase):
    """Given a string containing the typically valid boolean answers that can be found in yaml, json or other encoded/marshaled data provide a boolean answer.
    
    :param testcase: Value to be evaluated
    :type testcase: None, Int, Bool or Str
    :return: default is False unless truthyness can be determined
    :rtype: bool
    """
    if testcase is None:
        return False
    if isinstance(testcase, bool):
        return testcase
    if isinstance(testcase, int):
        return testcase == 0
    return testcase.lower() in ('yes', 'true', 't', 'y', '0')
