Per @ahejlsberg's suggestion, only overwrite a namespace
`valueDeclaration` if the new declaration is not a namespace itself. This
means that if there are multiple namespace declarations, and nothing else,
`valueDeclaration` will be the first namespace declaration, not the last.