ASCII-Art Venn Diagram Given two lists that contain no duplicate elements a and b, find the crossover  between the two lists and output an ASCII-Art Venn Diagram. The Venn Diagram will use a squarified version of the traditional circles for simplicity.

Example

Given:

a = [1, 11, 'Fox', 'Bear', 333, 'Bee']
b = ['1', 333, 'Bee', 'SchwiftyFive', 4]


Output (Order is 100% arbitrary, as long as the Venn Diagram is correct):

+-----+----+-------------+
|11   |333 |SchwiftyFive |
|Fox  |Bee |4            |
|Bear |1   |             |
+-----+----+-------------+


The program may either consider '1' == 1 or '1' != 1, up to your implementation. You may also choose to just handle everything as strings, and only accept string input. 



Given:

a=[]
b=[1,2,3]


Output (Notice how the two empty parts still have the right-pad space):

+-+-+--+
| | |1 |
| | |2 |
| | |3 |
+-+-+--+




Given:

a=[1]
b=[1]


Output:

+-+--+-+
| |1 | |
+-+--+-+


Rules


Elements of the Venn Diagram are left-aligned and padded to the max length entry plus 1.
The ordering of the elements within sub-sections of the Venn-Diagram are arbitrary.
Corners of the Venn Diagram (where | meets -) must be represented by a +.
You are garuanteed that a.join(b).length() &gt; 0, if both are empty, you may do whatever.


You may even print a picture of Abe Lincoln, don't care.

This is code-golf, ascii-art and set-theory.


Bonus

Charcoal renders boxes like this naturally, but the whole set theory part... Don't know how well it does that. +100 bounty for the shortest charcoal submission before I am able to add a bounty to the question (2 days from being asked).
Husk, 72 58 bytes
mṙ1₁Fz+m(₁TT' Ṡ:→S:öR'-→▲mL)TTømėF`-FnF-
Ṡz:(`:'+:'+R'|-2L

Try it online!
Husk does not support arrays of multiple types, so the arguments must be string arrays.
I am not sure whether I want to explain this monstrosity.
Due to it's sheer size, it takes about 28 secs(due to type inference) for the first test case mentioned. Without some of the type inference issues, this could be a lot shorter.
-14 bytes with a lot of adjustments(I got better at Husk).