This conceptualization uses particularly nice
functors.
One relevant way a
functor could be “not nice” is if it automorphs an
object. In such a particular case, this conceptualization will still work, but it will become more metaphorical. (Maybe there are other ways
functors can be “not nice” for which this conceptualization will not work, though!)
In this particular case, the way I want to allow
functors to be bad is to automorph certain
objects. For instance, consider the
functor Seq from before. Let
Seq′ be the
functor which is the same as
Seq except on the
set Z, which it automorphs by
x↦x+1. Explicitly, we define
Seq′(X)=Seq(X)and
Seq′(f:X→Y)=[Seq(x↦x+1)]X=Z;Seq(f);[Seq(x↦x−1)]Y=Z
where
[f]φ is
f if
φ holds and otherwise is the
identity morphism. Note that
Seq′ is indeed a
functor—this is not difficult to show, but is a little annoying.
Let
singleton:IdSet⇒Seq be a collection of
morphisms so that for any
set X the
function singletonX takes an element
x∈X to the singleton sequence
⟨x⟩∈Seq(X). Per the same reasoning as always—that singleton does not “look at elements”—we might expect that
singleton is a natural
morphism, and indeed it is.
However, note that
singleton is
not a
natural transformation IdSet⇒Seq′. In particular, one commutative square we fail to adhere to is
Id(ι:Z→R);singletonR=singletonZ;Seq′(ι:Z→R)
where
ι is the
embedding Z↪R. This square fails because on the left-hand side the composition comes out to
x↦⟨x⟩ but on the right-hand side it comes out to
x↦⟨x+1⟩ due to
Seq′ automorphing
Z.
We can modify
singleton to produce a
natural transformation singleton′:IdSet→Seq′ by letting
singletonX′(x)={⟨x−1⟩⟨x⟩X=ZX=Z
Then
singleton′ is natural. But, wait, shouldn’t it not be? The whole point of what we’ve been discussing is that we can (roughly) think of
natural transformations as “modifying
structure only, not elements”. But
singleton′ clearly modifies the elements, at
least in the case that
X=Z.
Personally how I resolve this discrepancy is by placing the blame on
Seq′. The
functor Seq′ was weird and naughty, so any
natural transformations working with
Seq′ must be similarly weird in
order to maintain naturality; they must reflect the weirdness in
order to “hide” it.