Design proposal:
Allow the declaration of constants only,
see e.g. [Hax97].
In principle, this does not restrict the language,
because we have functional types.
Alternative:
Allow the declaration of constants and
functions, see e.g. [Cer93].
This has the advantage of being more directly a
superlanguage of first-order CASL.
But the disadvantage is that we have two kinds
of arrows for (almost) the same thing.