Correct a mistake

The following

    let external (s : wtf) = "..."

passed type-checking although wtf is unbound.

Uncaught exceptions due to the extension of the name types.

Add Name functions
Alpha renaming for the output code

Implement conversion of constructors from *Name to *Name'