I forgot to mention... I think that we should have
<component-name> ::= <source-name> # types, functions, variables
instaed of just
<component-name> ::= <namespace source-name>
Otherwise a fully-scoped encoding of a variable using a list of
<component-name>s can't end with the variable's name.