Since the check includes calls to `hasCompleteInfo`, I have a question. How do we know that type applications won't change behavior if we shuffle declaration order or file compilation order?