Avoids clumsy naming properties by making the names the keys in
an interface to which the signatures of all operations must be
published. This also reduces the number of different symbols and
avoids long lists of imports in the modules implementing multiple
operations, which were redundant with the list of functions
exported from such modules.