def list_join(a, b):
    """
    Takes two lists and joins them.

    :param a: A list.
    :type a: list
    :param b: A list.
    :type b: list
    :returns: A joined list from the two parameters.
    :rtype: list
    """
    if a and not isinstance(a, list):
        raise TypeError('{} is not a list'.format(a))
    if b and not isinstance(b, list):
        raise TypeError('{} is not a list'.format(b))
    if a is None:
        return b
    if b is not None:
        return a + b
    return a
