Natural transformations as functors from product category It is often said that a natural transformation $\eta\colon F\Rightarrow G$ between parallel functors $F, G\colon \mathcal C\to \mathcal D$ "is" a functor (being the categorified notion of homotopy from algebraic topology):
$$H\colon \textbf{2} \times \mathcal{C}\to \mathcal{D}$$
such that
$$F = H(0, –),\quad G=H(1, –).$$
I understand how this bijection works (this is quite a popular topic on MSE – it appears here or there and on MO).
Moreover, this bijection is clearly "canonical". I would like to replace this vague word with a specific categorical notion – I expect a natural isomorphism here, but I am not sure how the details should work (see below).
The set of natural transformations (assume for simplicity, that the categories are small) is given by the Hom-functor:
$$\begin{align*}[\mathcal C, \mathcal D]^{op}\times [\mathcal C, \mathcal D] &\to \textbf{Set}\\
(F, G) &\mapsto \mathrm{Hom}_{[\mathcal C, \mathcal D]}(F, G)\end{align*}$$
Now I would like to find a functor $M$ assigning the set of "homotopies":
$$\begin{align*}[\mathcal C, \mathcal D]^{op}\times [\mathcal C, \mathcal D] &\to \textbf{Set}\\
(F, G) &\mapsto M(F, G) \subseteq \mathrm{Hom}_{\textbf{Cat}}(\textbf{2}\times \mathcal C, \mathcal D)\end{align*}$$
I think it is possible to define $M$ in a functorial way, but only if we already have a method of composing a homotopy with natural transformation, which essentially uses the "canonical" bijection.
Is there a method of defining $M$ in a way that omits this vicious circle? Or another point of view which makes my discussion irrelevant? An answer not giving the details, but pointing to appropriate references would also be very welcome.
 A: I think perhaps this discussion might benefit from bringing in a couple of other ideas.
Let me briefly try to explain why.
It looks like you want to say $M(F,G)$ is functorial, and then construct a natural isomorphism $[\newcommand\C{\mathcal{C}}\newcommand\D{\mathcal{D}}\C,\D](F,G)\to M(F,G)$, but I think you're going to run into the issue you've noticed that you need to essentially compose homotopies and natural transformations, which makes things somewhat moot.
Instead, let's take a different tack.
First observation: $\newcommand\Cat{\mathbf{Cat}}\Cat$ is cartesian closed.
$\Cat$ here is the large category of small categories (by taking large enough Grothendieck universes this size issue shouldn't be a problem).
Explicitly, what this means is that $\Cat$ has all finite products, and the functor
$-\times \C : \Cat \to \Cat$ admits a right adjoint $[\C,-] : \Cat\to\Cat$ for all categories $\C$.
You're already familiar with this functor $[\C,\D]$, it's the category of functors and natural transformations from $\C$ to $\D$.
Therefore, for all categories $\C,\D,\newcommand\E{\mathcal{E}}\E$, we have a natural isomorphism (of sets)
$$\Cat(\C\times \D, \E) \simeq \Cat(\C,[\D,\E]).$$
Now if we take $\C=\newcommand\2{\mathbf{2}}\2=\bullet\to\bullet$,
we have in particular that
$$\Cat(\2\times \D,\E)\simeq \Cat(\2,[\D,\E]).$$
On the left hand side, we have the set of arbitrary homotopies, and on the right hand side,
we have the set of all arrows in the category $[\D,\E]$, or in other words, all natural transformations between all functors from $\D$ to $\E$.
Second observation: Naturality means that this bijection respects the sources and targets of homotopies and natural transformations.
Let $\newcommand\1{\mathbf{1}}\1$ be the category with a single object and no non-identity arrows. We have two maps $s,t:\1\to \2$ picking out the source and the target of the unique non-identity arrow in $\2$. Note that $\1$ is the terminal category, so $\1\times \C\simeq \C$, and $[\1,\C]\simeq \C$, so $Cat(\1,\C)\simeq \C_0$ (the set of objects of $\C$).
These morphisms therefore induce naturality squares:
$$
\require{AMScd}
\begin{CD}
\Cat(\2\times \C,\D) @>>> \Cat(\2,[\C,\D])
\\
@V(s\times \C)^* VV @VVs^*V
\\
\Cat(\C,\D) @>>> [\C,\D]_0=\Cat(\C,\D)
\end{CD}
\text{ and }
\begin{CD}
\Cat(\2\times \C,\D) @>>> \Cat(\2,[\C,\D])
\\
@V(t\times \C)^* VV @VVt^*V
\\
\Cat(\C,\D) @>>> [\C,\D]_0=\Cat(\C,\D)
\end{CD}
$$
Note that the bottom maps in these squares are the identity maps on $\Cat(\C,\D)$ when you unravel all of the definitions and natural isomorphisms.
This is saying that the natural bijection respects the sources and targets of homotopies/natural transformations.
Third observation: $\2$ is an internal cocategory.
What does this mean? Well, a category in $\mathbf{Set}$ is a set of objects $X_0$, a set of morphisms $X_1$, source and target maps $s,t:X_1\to X_0$, identity maps $e:X_0\to X_1$, and a composition map $m : X_1\times_{s,X_0,t} X_1\to X_1$ subject to the associativity and unitality axioms. We can then interpret this definition in any category we want, and we can also dualize it, giving the notions of internal category and cocategory.
In particular, if I want to say $\2$ is a cocategory internal to $\Cat$, I need to tell you what the object of objects is, as well as what the cosource, cotarget, coidentity, and comultiplication maps are.
We take the object of objects to be $C_0=\1$, the object of morphisms to be
$C_1=\2$, then we have the (co)source and (co)target morphisms $s,t:C_0\to C_1$,
and the coidentity morphism $e:C_1\to C_0$ is forced to be the unique map from $\2$ to $\1$, so we just need to defined the comultiplication.
Note that we need a map $m : C_1\to C_1\amalg_{s,C_0,t} C_1$ now, since we've dualized, but the pushout $C_1\amalg_{C_0} C_1$ is the category $\mathbf{3} = \bullet\to\bullet\to\bullet$, so the comultiplication should just be the map $\2 \to \mathbf{3}$ that picks out the composite morphism from the first to the last object.
I'll let you check that this is in fact coassociative and counital, and thus defines a cocategory (check the internal category page for the full list of compatibility diagrams, and then dualize).
How does this help us? Well, first of all, let's observe that since $-\times \C$ is a left adjoint functor, it will preserve cocategory structure, so $\2\times \C$ is also a cocategory for all small categories $\C$.
Additionally, the main reason we're interested in cocategories is that since $\Cat(-,\D)$ turns colimits into limits, it turns cocategories in $\Cat$ into genuine categories in $\mathbf{Set}$. You can check that in particular, when we apply $\Cat(-,\D)$ to our interval cocategory $(\2,\1,s,t,e,m)$, we just get $\D$ back.
Therefore, for all $\C$, and $\D$,
$\Cat(\2\times \C,\D)$, and $\Cat(\2,[\C,\D])$ actually have canonical category structures (as in they are the sets of morphisms of a category structure).
In fact, since $\Cat(-\times\C,\D)$ and $\Cat(-,[\C,\D])$ are naturally isomorphic functors, we have that $\Cat(\2\times \C,\D)$ and $\Cat(\2,[\C,\D])\simeq [\C,\D]$ are isomorphic categories.
Finally, you can check that the actual category structure we get on $\Cat(\2\times\C,\D)$ from the cocategory structure on $\2$ is exactly what you'd expect for composition of homotopies, just place the homotopies adjacent to each other and compose in $\D$.
Thus perhaps the formulation of this result that I would go with is that
$\Cat(\2\times \C,\D)$ has a canonical category structure, and the natural isomorphism of sets $\Cat(\2\times \C,\D)\simeq \Cat(\2,[\C,\D])$ induces a natural isomorphism of categories
$\Cat(\2\times \C,\D)\simeq [\C,\D]$.
