Whenever there is a morphism $f : A \mapsto B$ and $g : B \mapsto C$, there must exist $A \mapsto C$ = $g \circ f$. That's a reasonable requirement.
However, I am a programmer and mostly deal with $\mathbb{SET}$: category of sets and single-variable functions between them.
It seems to be special. I'll give you an example: let's fix some $X \in Obj(\mathbb{SET})$. If I am not mistaken, $\forall Y \in Obj(\mathbb{SET}): \forall y \in Y: \exists f: X \mapsto Y$ defined as a constant function that maps entire $X$ to a particular $y \in Y$. It works in exactly the same way as a constant functor to a fixed object of a target category.
Now the tricky part: there is a set of functions $\{ X \mapsto Y \}$ for all $X, Y$ and each such set is an object of the $\mathbb{SET}$. Hence, there exists a morphism $m: X \rightarrow Y$ and there exists yet another morphism $M : X \rightarrow \{ X \mapsto Y \}$. Now, assume there also exists a morphism $k: Y \rightarrow Y'$. It would be reasonable to immidiately reuqire existence of $M' : M \rightarrow \{ X \mapsto Y' \}$ defined as $X \rightarrow Y \rightarrow Y'$ path in the $\mathbb{SET}$. So end up with: $X \rightarrow \{ X \mapsto Y \} \rightarrow \{ X \mapsto Y' \}$, which, by the requirement I've started from, yields an $X \rightarrow \{ X \mapsto Y' \}$ moprhism.
$\mathbb{SET}$ seems to be very special. When some $x \in X$ is lifted to a $X \mapsto Y$ in the abovementioned fashion, you kind of appear at two different places at the same time: on the one hand, you get a particular element of an appropariate $\{ X \mapsto Y \}$; on the other hand - lifting takes you to a $\{ X \mapsto Y \}$ - an object of the $\mathbb{SET}$.
So my quesiton is kind of soft - doest it blur razor-sharp edges between morphisms and objects within the same category? Is it really that special or I am I just overreacting?