In preparation for the documentation, the declarations should all be clearly specified.
We do not need as many declarations, using "op" for all operation declarations and
"hd" for all hyperdaton declarations. The advantage of this approach is that it is
extensible, through the use of further dimensions in the guards.
For example:
op - [assoc:infixl, prec:100] = minus ;;
HDs are now documented, however, the specification should change to something more natural if this is necessary, and the documentation should then be updated.