def all_binary(bin_len: int) -> list:
    """Find all binary strings of a certain length

    :param bin_len: the length the binary strings should be
    :type bin_len: int
    :returns: all the possible binarys strings of this length
    :rtype: list (of strs)
    """
    
    if bin_len == 0:
        return ['']
    elif bin_len < 0:
        raise ValueError('Binary strings cannot have negative length')
    all_bin = []
    # extend all shorter strings by 0 and 1
    for short_bin in all_binary(bin_len - 1):
        all_bin += [short_bin + '0', short_bin + '1']
    return all_bin