For the love of God, can someone explain to me the difference between functors of the form $\mathcal{C}^{\text{op}}\to \mathcal{D}$, $\mathcal{C}\to \mathcal{D}^{\text{op}}$ and $\mathcal{C}^{\text{op}}\to \mathcal{D}^{\text{op}}$?
I really do not understand how to tell what kind of functor an assignment gives: say that I know how a functor $F$ is defined on the objects and morphisms of a domain category $\mathcal{C}$, and I want to know its variance (is this a proper word?). Suppose that I do the usual thing, where I consider a morphism $f:A\to B$ in $\mathcal{C}$, and I find that $F(f)$ goes the other way, namely $F(f):F(B)\to F(A)$ in the target category $\mathcal{D}$. Is then $F$ a functor $\mathcal{C}^{\text{op}}\to\mathcal{D}$ or a functor $\mathcal{C}\to\mathcal{D}^{\text{op}}$?