experimental changes to handleDeclarations, splitting declarations from initializers now adds identifiers into the declaration use map, this is needed for correct renaming of variable identifiers in structs