I'm looking for a simple way in Tikz to draw directed hypergraphs, where the hyperedges are ordered pairs of sets of vertices. For example I would like the hyperedges ({a,b},{c}) and ({c},{a,b}) to be presented like this:
The "in" vertices (on the left) should be vertically aligned, as should the "out" vertices (on the right). For my purposes, there are never more than two "in" vertices or two "out" vertices, and I would be happy to have this baked into the solution. The solution should be flexible enough to accommodate node labels larger than the single characters shown here.
I would also like to be able to assemble these into larger hypergraphs, as shown here, in which case the arms of the hyperedges need not be of the same length:
although the "direction" will always be read from left to right. I'm not concerned with overlapping lines (I'll only be working with simple graphs and will be able to arrange things so lines don't overlap).
It should be easy to move the nodes around for aesthetic reasons, so that for example the following is the graph above but laid out slightly differently:
The title of this question is similar, but my requirements are slightly different.