As @rbuckton point out in PR #4814, we have multiple ways for checking use before definition for many concepts such as this before super, use before declaration for let and const. We should consolidate the checking to be more general purpose that we can extend rather than continuously create new ways of checking