It was previously possible to keep a constant when there was a removed
symbol in its definition. This changes makes removals be propagated to
other constants.
This patch mainly adds a variable that keeps track of already removed
declarations.