> Composition means connecting the output of one blob to the input of another. Tensoring means gathering together a bunch of blobs into one:
This is an incredibly important point. I've been slowly leading up to it, but I probably should have just come out and said it.
> But the "horizontal vs vertical" or "left to right" aspects of string diagrams – at least for profunctors – turn out to be irrelevant.
Sort of. We have a great deal of flexibility in manipulating our diagrams for profunctors: for example we can take both sides of an equation and 'turn them around' using caps and cups, turning inputs into outputs and vice versa, and get another true equation. And yet, we do need to be careful about whether we're talking about \\(\Phi \colon X \nrightarrow Y\\) or \\(\Phi \colon Y \nrightarrow X\\), because this affects which formulas involving \\(\Phi\\) will make sense, or be true. And ironically, it matters most of all when \\(X = Y\\)!