Suppose we extend our notion of expressions in the \mathcal {C} language with parameterless higher-order procedures:
\begin {array}{l}
\mathcal {E}\; \Coloneqq \; \cdots \mid \mathsf {proc}\ \mathcal {C}\\
\mathcal {C}\; \Coloneqq \; \cdots \mid x
\end {array}
For our denotational semantics, our domains now take this form (\textcolor {blue}{\text {blue}} parts are new vs. Example [dt-0004]), where \uplus denotes disjoint union:
\begin {array}{lcl}
\mathbf {E} & \triangleq & \Sigma \rightarrow \mathbb {Z}\textcolor {blue}{\ \uplus \ \mathbf {C}}\\
\mathbf {B} & \triangleq & \Sigma \rightarrow \mathbb {B} \\
\mathbf {C} & \triangleq & \Sigma \rightarrow \Sigma \\[0.2em]
\Sigma & \triangleq & \mathcal {V} \rightarrow \mathbb {Z}\textcolor {blue}{\ \uplus \ \mathbf {C}}
\end {array}
Unfolding the definition of \Sigma , we end up with a recursive equation for the definition of \mathbf {C}:
\mathbf {C} \; = \; (\mathcal {V} \rightarrow (\mathbb {Z} \uplus \mathbf {C})) \rightarrow (\mathcal {V} \rightarrow (\mathbb {Z} \uplus \mathbf {C}))
Such equations have no set-theoretic solution, even if we weaken equality to mere set isomorphism (here notated \simeq ).
Any kind of higher-order construct leads to such recursive domain equations.