 For the purposes of modeling functions in CL, the interesting functions are those that are continuous on \(D\). However, these functions by themselves are not sufficient to obtain a modeling of self-application, because none of them has as its domain a set of functions—as \(D\) is not assumed to be a function space. The solution starts with defining a hierarchy of function spaces \(D_0\), \(D_1\), \(D_2,\ldots\) so that each function space \(D_n\), is a complete lattice on which continuous functions may be defined (creating the function space \(D_{n+1}\)). The importance of selecting continuous functions is that the emerging function space has the same cardinality as the underlying set, which allows us to define embeddings between function spaces adjacent within the hierarchy.