I was unsure about giving another answer because this is sort of shaky.
You know how I mentioned adjoints to composition (which is basically pullback) are dependent producty?
A concrete example I ran into recently is the category of relations $\text{Rel}$.
Composition of two relations is a form of existential quantification $(P \circ Q)(a, b) = \exists x. P(a, x) \wedge Q(x, b)$ and in a definite style corresponds to equality in first order logic. An adjoint here ought to correspond to Hilbert's epsilon operator which is a fancy but problematic way of defining existential quantification.
I'm still shaky about Hilbert's epsilon calculus but you ought to have a relationship along the lines of
$$ \frac{P(E)}{(\varepsilon x\colon A. P(x)) = E} $$
You can see this as similar to the $\mu$ and $\tilde{\mu}$ operators in $\bar{\lambda} \mu \tilde{\mu}$ calculus (which corresponds to System LK.) The calculus has similar rules for composition (cut.) I'm not sure I recall things precisely but you want rules like
$$ \langle \mu x. c(x) \mid E \rangle \longrightarrow c(E) $$
$$ \langle v \mid \tilde{\mu} x. c(x) \rangle \longrightarrow c(v) $$
Unfortunately $\langle \mu x. c(x) \mid \tilde{\mu} x. c(x) \rangle$ is ambiguous and you have to fix an evaluation order and this is problematic in a dependently type setting. Hilbert's epsilon has similar weird issues. There are workarounds but they probably involve heavyweight stuff like linear logic.
It's surprising the adjoint to composition turns up in both a continuations based control flow construct and in the indefinite description operator.
Except while Kan extension for relations is dependent producty $\forall x. P(x, a) \rightarrow Q(x, b)$ Kan extension for regular old functors is shaped like the continuation monad $\forall x. (A \rightarrow F(x)) \rightarrow G(x)$!