This question is my best attempt to get at a more general question about what one can get from terms in the lambda calculus.
Using the church encoding, we define booleans by $\texttt{true} = \lambda x,y.x$ and $\texttt{false} = \lambda x,y.y$
Define the set of terms $Bool = \{\texttt{true}, \texttt{false}\}$, and let $Bool \to Bool = \{g \; | \; \text{if } b \in Bool \text{ then } g \; b \in Bool\}$
Let $f$ be a term with the property that if $g \in Bool \to Bool$ then $f \; g$ normalizes to a boolean.
Intuitively, I believe $f$ can be either a constant function or it can use $g$. Precisely: Is it true that any such f satisfies one of the following properties:
There exists some term $b \in Bool$ so that for any $g \in Bool \to Bool$, $f \; g = b $
There exists some term $b \in Bool$ so that for any $g \in Bool \to Bool$, $f \; g = g \; b $
There exists some term $b \in Bool$ so that for any $g \in Bool \to Bool$, $f \; g = not (g \; b) $
EDIT: as Derik points out, the above three cases only capture 6 of the 16 set-theoretic functions of type (Bool -> Bool) -> Bool. The point was can $f$ be defined in a way other than those set theoretic ones.
(where $a = b$ means that $a$ normalizes to $b$)