Allow metadata to be attached to nodes.
Use the metadata to do name mangling.
Only output variable and reference declarations.
Different strings for declaration name and use name.