Composition of constraints.
Note that the result of the composition must be a constraint, and
therefore, in
Compose f g, the kind of
f is
k -> Constraint. The kind of
g, however,
is
l -> k and can thus be a normal type constructor.
A typical use case is in connection with
All on an
NP or
an
NS. For example, in order to denote that all elements on an
NP f xs satisfy
Show, we can say
All
(Compose Show f) xs.