I'm writing software to be general, so right now I'm writing a NaturalMap class which will be a graphical arrow that goes between any two CategoryArrow's (functors are a subclass).
I was wondering how recursive I should make the thing while still finishing the project.
So what does a morphism of natural maps look like? I am already very familiar with naturality squares for functors, but not beyond.
I'm not sure if this is what you are looking for, but a natural transformation $\eta: F \to G$ between functors $F,G: \mathcal C \to \mathcal D$ can be seen as a functor $\eta: \mathcal C \times \mathbf 2 \to \mathcal D$ such that the following commutes:
where $\mathbf 2$ is the category with objects $0$ and $1$ and a unique non identity arrow $0\to 1$, and $i_0$ and $i_1$ are the inclusions of $\mathcal C$ as $\mathcal C\times\{0\}$ and $\mathcal C \times\{1\}$.
From there a straightforward generalization is that a morphism $\aleph: \eta \to \kappa$ between natural transformations is just a natural transformation between $\eta$ and $\kappa$ seen as functors, i.e. $\aleph$ is a functor $\mathcal C\times \mathbf 2\times\mathbf 2\to \mathcal D$ such that commutes:
In other words, $\aleph$ is the data of a commutative square
for every $X\in\mathcal C$, such that commutes the following cube for any $f: X \to Y$: