@Keith I agree with the banking analogy. My to-go example are the rational numbers under multiplication. This are the snake equations there: \$$3 = 1 * 3 = (3 * 1/3) * 3 = 3 * (1/3 * 3) = 3 * 1 = 3 \$$

------

@All This is a beginner question: I am still confused by how exactly profunctors work. Consider

![](http://math.ucr.edu/home/baez/mathematical/7_sketches/snake_1.png)

I know that the label \$$\cap_x \otimes 1_x \$$ is the name of one particular morphism between \$$1 \otimes x \$$ and \$$( x \otimes x^\ast ) \otimes x \$$. But how do we actually get from \$$1 \otimes x \$$ to \$$( x \otimes x^\ast ) \otimes x \$$ ? Is it by calculating the expression \$$( 1 \otimes x ) \otimes ( \cap_x \otimes 1_x ) \$$? (I know that "calculating the expression" is vague. But I don't know what we are doing exactly.)

----

Edit: I think I get it: So we have a morphism: \$\cap_x \otimes 1_x \colon ( X \otimes X) \to ( X \otimes X \otimes X) \$

Then we apply it (if we think of the morphism as a function that takes one argument):

\$\cap_x \otimes 1_x ( ( I \otimes x_1 ) ) = x_1 \otimes x_1^\ast \otimes x_1 \$

Observation: Here the notion of isomorphic vs. equal is important. It is true that \$$1 \otimes x \$$ is isomorphic to \$$1 \$$. But they are not equal! If this were a program and \$$\cap_x \otimes 1_x \$$ a function, then that function would not accept \$$1 \$$ as an argument, but \$$1 \otimes x \$$. Even though they are isomorphic! For the same reason, \$$1 \otimes x \otimes 1 \$$ would not be accepted as an argument. We need exactly two objects of \$$X \$$ that are glued together with the tensor operation.

------

Edit2: **Oh great!** My observation cleared up some of my confusion I had about co-design diagrams and feasibility relations! I did not understand: What is the transformation that enables us to switch cables from one side to the other side? These are isomorphisms!